def start(bot, update, **_): with db_session: aliases = [s.alias for s in Server.select()] msg = f'commands:\n' \ f'/follow {{server_alias}} - receive messages about server status\n' \ f'/forget {{server_alias}} - suppress messages about this server\n' \ f'where server_alias is one of {aliases}' bot.send_message(chat_id=update.message.chat_id, text=msg)
def get(self, tenant_id): servers = [ { 'id': server.server_id, 'name': server.name, 'status': server.status, } for server in Server.select(Server.server_id, Server.name, Server.status).where(Server.tenant_id == tenant_id).order_by(Server.server_id) ] self.write({'servers': servers})
def delete_all_users_ec2s(): servers = Server.select() instance_ids = [server.server_id for server in servers] # if instance_ids is empty then filter will return all the EC2s # then all EC2s will be deleted , which is dangerous , therefore # instance_ids should have value if terminate will be used. if instance_ids: # deletes user/worker instances ec2.instances.filter(InstanceIds=instance_ids).terminate() else: print("No instance IDs provided") print("Deleting done")
def delete_all_users_ec2s(): servers = Server.select() instance_ids = [server.server_id for server in servers] # if instance_ids is empty (i.e no single ec2 instance yet created for a user), # then the functionec2.instances.filter below will # return all the EC2 instances in your environment and apply # the termination on them. Therefore it is important to check that the # instance_ids have value before calling the terminate function. if instance_ids: # deletes user/worker instances ec2.instances.filter(InstanceIds=instance_ids).terminate() else: print("No instance IDs provided") print("Deleting done")
def get_server(is_follow=True, **kwargs): # get alias server_alias = kwargs['args'][0] if 'args' in kwargs and len( kwargs['args']) > 0 else None if not server_alias: cmd = 'follow' if is_follow else 'forget' with db_session: aliases = [s.alias for s in Server.select()] msg = f'correct syntax is "/{cmd} {{server_alias}}"\n' \ f'where server_alias is one of {aliases}' raise ValidationError(msg) # validate alias with db_session: server_obj = Server.get(alias=server_alias) if server_obj is None: # noinspection PyTypeChecker server_aliases = [obj.alias for obj in select(s for s in Server)] msg = 'choice server_alias from: {}'.format( ', '.join(server_aliases)) raise ValidationError(msg) return server_obj.id
def server_api(): result = {'success': True, 'data': [server.to_json() for server in Server.select()]} return jsonify(result)
for i in range(5): st.get_best_server() threads = 1 st.download(threads=threads) st.upload(threads=threads) result = st.results.dict() result['timestamp'] = datetime.datetime.now() results.append(result) for result in results: server_details = result['server'] server_id = server_details['id'] server_query = Server.select().where(Server.st_id == server_id) if len(server_query) == 0: server_params = {'st_id': server_id, 'name': server_details['name'], 'sponsor': server_details.get('sponsor'), 'url': server_details.get('url'), 'url1': server_details.get('url2'), 'cc': server_details.get('cc'), 'host': server_details.get('host'), 'lat': server_details.get('lat'), 'lon': server_details.get('lon')} server = Server.create(**server_params) server.save() else: server = server_query[0]