subprocess to update date/time

This commit is contained in:
sanjayk03-dev
2024-08-27 17:23:13 +05:30
parent 8db5d69861
commit 859b9cabe3
3 changed files with 13 additions and 12 deletions

View File

@@ -151,13 +151,10 @@ module.exports = {
if (!this.selected_date || !this.selected_time) {
return;
}
console.log(this.selected_date, this.selected_time);
try {
const datetime = `${this.selected_date} ${this.selected_time}`;
const timezone = "UTC";
const response = await api.put("time", { datetime, timezone });
const datetime = `${this.selected_date} ${this.selected_time}:00`;
const response = await api.put("time", { datetime });
if (response == "ok") {
alert("Date/Time updated successfully.");

View File

@@ -68,4 +68,4 @@ script#admin-general-view-template(type="text/x-template")
.pure-form
input(id="date" type="date" v-model="selected_date")
input.flatpickr(id="time" type="time" v-model="selected_time")
button.pure-button.pure-button-primary(@click="change_date_time", style="margin-top:5px") Update Date/Time
button.pure-button.pure-button-primary(@click="change_date_time", style="margin:5px") Update Date/Time

View File

@@ -581,13 +581,17 @@ class TimeHandler(bbctrl.APIHandler):
def put_ok(self):
datetime = self.json['datetime']
timezone = self.json['timezone']
try:
subprocess.Popen(['timedatectl', 'set-time', datetime])
subprocess.Popen(['timedatectl', 'set-timezone', timezone])
self.get_log('TimeHandler').info('Time changed: datetime: {}'.format(datetime))
result = subprocess.Popen(['sudo','date', '-s', datetime], stdout=subprocess.PIPE, stderr=subprocess.PIPE, universal_newlines=True)
stdout, stderr = result.communicate()
if(result.returncode == 0):
self.get_log('TimeHandler').info('Result {} = {}'.format(result.returncode, stdout))
else:
raise Exception(stderr)
except Exception as e:
self.get_log('TimeHandler').info('Error updating time or timezone: {}'.format(e))
self.get_log('TimeHandler').info('Error: {}'.format(e))
class RemoteDiagnosticsHandler(bbctrl.APIHandler):