Ejemplo n.º 1
0
    def post(self, request):
        ip = get_ip(request)
        try:
            limit = add_ip(ip, 2, 2)
        except BaseException:
            limit = True
        if limit:
            email = request.POST.get('email')
            name = request.POST.get('name')
            text = request.POST.get('text')
            Connect_model(Text=text,
                          email=email,
                          name=name,
                          date=datetime.datetime.now()).save()
            data_for_me = {
                'mail': email,
                'text': text,
                'name': name,
            }
            mail('templates/mails/mail.html', data_for_me, 'Запрос на сайте',
                 ['*****@*****.**'])
            return HttpResponse('done')

        data = {'limit': False}
        return JsonResponse(data)
Ejemplo n.º 2
0
 def get(self, request):
     ip = get_ip(request)
     ip_info = IpInfo(ip)
     try:
         limit = add_ip(ip, 2, 7)
     except BaseException:
         limit = True
     if limit:
         msg = ip_info.country + ', ' + ip_info.city + '. Ip is:' + str(ip)
         try:
             send_message(msg)
         except BaseException:
             pass
     last_works = Work.objects.all().order_by('-Year')[:4]
     form = ConnectForm()
     return render(request, 'main/index.html', {
         'last_works': last_works,
         'form': form
     })
Ejemplo n.º 3
0
 def log(*args, **kwargs):
     ip = get_ip(args[1])
     user = args[1].user
     device_uuid = args[1].data.get('device_uuid', 'unknown')
     ua = args[1].META['HTTP_USER_AGENT']
     if 'iPhone' in ua:
         mobile_type = 'iPhone'
     elif 'Macintosh' in ua:
         mobile_type = 'Macintosh'
     elif 'Windows' in ua:
         mobile_type = 'Windows'
     elif 'Android' in ua:
         mobile_type = 'Android'
     elif 'Postman' in ua:
         mobile_type = 'Postman'
     else:
         mobile_type = 'unknown'
     OperationLog.objects.create(type=arg,
                                 user=user,
                                 ip=ip,
                                 device_uuid=device_uuid,
                                 mobile_type=mobile_type,
                                 ua=ua)
     return view(*args, **kwargs)
Ejemplo n.º 4
0
def resolve_ip():
    os.environ.get("HABERTEST_CLOUDVISOR_IP", ip.get_ip())
Ejemplo n.º 5
0
    os.environ.get("HABERTEST_CLOUDVISOR_IP", ip.get_ip())


async def start_daemons(app):
    app["heartbeats"] = app.loop.create_task(
        heartbeat.send_heartbeats(app['info'], app['provisioner']))
    app.loop.create_task(app.cleaner.clean_periodically())
    
if __name__ == '__main__':
    DEFAULT_PEM_FILE_LOCATION = f'{os.path.expanduser("~")}/.ssh/anyvision-devops.pem'
    '''
    This can be run from resource_managers directory like: 
    python -m cloudvisor
    '''
    parser = argparse.ArgumentParser()
    parser.add_argument("--ip", default=os.environ.get("HABERTEST_CLOUDVISOR_IP", ip.get_ip()), help="ip address cloudvisor is running which can receive fulfill requests"
                                                           "takes HABERTEST_CLOUDVISOR_IP env variable if exists")
    parser.add_argument("--port", default=os.getenv("SERVICE_PORT", 9080))
    parser.add_argument("--vpc", default=os.getenv("VPC_ID"))
    parser.add_argument("--key-name", default=os.getenv("KEY_PAIR_ID"))
    parser.add_argument("--pem-file", default=DEFAULT_PEM_FILE_LOCATION)
    parser.add_argument("--subnet-ids", type=str, nargs='+', default=os.getenv("SUBNET_IDS").split())
    parser.add_argument("--log-level", default=os.getenv("LOG_LEVEL", "DEBUG"))
    parser.add_argument("--cloudvisor-id", default=os.getenv("HABERTEST_CLOUDVISOR_ID", f"{getpass.getuser()}-{socket.gethostname()}-cloudvisor"))
    parser.add_argument("--provisioner", dest='provisioner', help="Provisioner address", type=str,
                        required=False, default=os.environ.get('HABERTEST_PROVISONER_ADDRESS'))


    args = parser.parse_args()
    _configure_logging(args.log_level)