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) { if (!this.selected_date || !this.selected_time) {
return; return;
} }
console.log(this.selected_date, this.selected_time);
try { try {
const datetime = `${this.selected_date} ${this.selected_time}`; const datetime = `${this.selected_date} ${this.selected_time}:00`;
const timezone = "UTC"; const response = await api.put("time", { datetime });
const response = await api.put("time", { datetime, timezone });
if (response == "ok") { if (response == "ok") {
alert("Date/Time updated successfully."); alert("Date/Time updated successfully.");

View File

@@ -68,4 +68,4 @@ script#admin-general-view-template(type="text/x-template")
.pure-form .pure-form
input(id="date" type="date" v-model="selected_date") input(id="date" type="date" v-model="selected_date")
input.flatpickr(id="time" type="time" v-model="selected_time") 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): def put_ok(self):
datetime = self.json['datetime'] datetime = self.json['datetime']
timezone = self.json['timezone']
try: try:
subprocess.Popen(['timedatectl', 'set-time', datetime]) result = subprocess.Popen(['sudo','date', '-s', datetime], stdout=subprocess.PIPE, stderr=subprocess.PIPE, universal_newlines=True)
subprocess.Popen(['timedatectl', 'set-timezone', timezone]) stdout, stderr = result.communicate()
self.get_log('TimeHandler').info('Time changed: datetime: {}'.format(datetime))
if(result.returncode == 0):
self.get_log('TimeHandler').info('Result {} = {}'.format(result.returncode, stdout))
else:
raise Exception(stderr)
except Exception as e: 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): class RemoteDiagnosticsHandler(bbctrl.APIHandler):