def admin_backup(): form = BackupEditForm(request.form) if request.method == 'POST': if form.validate_on_submit(): if request.form['backup'] == 'Update': pass elif request.form['backup'] == 'Start Backup': g.db.MM_Server_Database_Trigger_Insert(('python', './subprogram/subprogram_postgresql_backup.py')) # this commits flash("Postgresql Database Backup Task Submitted.") else: flash_errors(form) backup_enabled = False backup_files = [] for backup_local in MM_Common_File.MM_Common_File_Dir_List(Config.get('MetaManServer','BackupLocal').strip(), 'dump', False, False, True): backup_files.append((backup_local[0], 'Local', MM_Common_String.bytes2human(backup_local[1]))) # cloud backup list for backup_cloud in MM_Common_Cloud.MM_Common_Cloud_Backup_List(): backup_files.append((backup_cloud.name, backup_cloud.type, MM_Common_String.bytes2human(backup_cloud.size))) page, per_page, offset = MM_Common_Pagination.get_page_items() pagination = MM_Common_Pagination.get_pagination(page=page, per_page=per_page, total=len(backup_files), record_name='backups', format_total=True, format_number=True, ) return render_template("admin/admin_backup.html", form=form, backup_list=sorted(backup_files, reverse=True), data_interval=('Hours', 'Days', 'Weekly'), data_class=MM_Common_Cloud.cloud_backup_class, data_enabled=backup_enabled, page=page, per_page=per_page, pagination=pagination )
# grab some dirs to scan and thread out the scans if str.upper(sys.platform[0:3]) == 'WIN' or str.upper(sys.platform[0:3]) == 'CYG': signal.signal(signal.SIGBREAK, signal_receive) # ctrl-c else: signal.signal(signal.SIGTSTP, signal_receive) # ctrl-z signal.signal(signal.SIGUSR1, signal_receive) # ctrl-c tuners_added = 0 # tuner discovery tuner_api = MM_Common_HDHomeRun.MM_Common_HDHomeRun_API() tuner_api.MM_Common_HDHomeRun_Discover() for row_tuner in tuner_api.MM_Common_HDHomeRun_List(): json_data = {'Model': row_tuner.get_var(item='/sys/model'), 'HWModel': row_tuner.get_var(item='/sys/hwmodel'), 'Name': row_tuner.get_name(), 'ID': str(hex(row_tuner.get_device_id())), 'IP': MM_Common_String.ip_int_to_ascii(row_tuner.get_device_ip()), 'Firmware': row_tuner.get_version(), 'Active': True, 'Channels': {}} # check for exienence current_data = db.MM_Server_Database_Tuner_By_Serial(str(hex(row_tuner.get_device_id()))) if current_data is not None: db.MM_Server_Database_Tuner_Update(current_data[0], json.dumps(json_data)) else: db.MM_Server_Database_Tuner_Insert(json.dumps(json_data)) tuners_added += 1 if tuners_added > 0: db.MM_Server_Database_Notification_Insert(locale.format('%d', tuners_added, True) + " tuners added.", True) # log end db.MM_Server_Database_Activity_Insert(u'Meta-Man Server Tuner Scan Stop', None, u'System: Server Tuner Scan Stop', u'ServerTunerScanStop', None, None, u'System')