Ejemplo n.º 1
0
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)
Ejemplo n.º 2
0
 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})
Ejemplo n.º 3
0
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")
Ejemplo n.º 4
0
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")
Ejemplo n.º 5
0
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
Ejemplo n.º 6
0
def server_api():
    result = {'success': True, 'data': [server.to_json() for server in Server.select()]}
    return jsonify(result)
Ejemplo n.º 7
0
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]