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)
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 })
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)
def resolve_ip(): os.environ.get("HABERTEST_CLOUDVISOR_IP", ip.get_ip())
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)