def post(self): author = users.get_current_user() self.response.content_type = 'application/json' try: algo = Algorithm(parent=ndb.Key('Python Algorithms', 'scrap')) algo.author = author algo.script = self.request.get('script') algo.viz = self.request.get('viz') algo.name = self.request.get('name') algo.public = False algo.put() # notify(author, 'save', algo.name, algo.script, algo.viz) msg = 'Script was successfully saved by %s as "%s"' % ( author.email(), algo.name) info(msg) info(algo.script) except Exception as e: msg = 'Could not save script: %s' % e self.response.write(json.encode({'result': msg}))
def create_or_edit(self, data, contract): try: algorithm_id = data.get('id') if not algorithm_id: algorithm = Algorithm() else: algorithm = Algorithm.query.filter_by( id=algorithm_id).first_or_404() if algorithm.contract_id != contract.id and not contract.is_admin: return None algorithm.title = data.get('title') algorithm.steps = data.get('steps') algorithm.description = data.get('description') algorithm.categories = data.get('categories') algorithm.template_id = data.get('template_id') algorithm.initial_step = data.get('steps')[0].get('uid') algorithm.current_step = data.get('steps')[0].get('uid') if data.get('is_template') and contract.is_admin: algorithm.clinics = data.get('clinics') algorithm.is_template = True algorithm.template_category = data.get('template_category') else: algorithm.patient_id = contract.patient_id algorithm.contract_id = contract.id if not algorithm_id: self.db.session.add(algorithm) self.change_step(algorithm, algorithm.initial_step) self.check_inits(algorithm) return algorithm except Exception as e: log(e) return None
def execute_upload(self, request): import uuid form = self.form_class(request.POST, request.FILES) print request.FILES['file'] if form.is_valid(): print request.FILES['file'] resp = self.handle_uploaded_file(request.FILES['file']) if resp['score'] < 100: button_type = 'btn-warning' else: button_type = 'btn-success' self.uuid_index = str(uuid.uuid4()) resp['score'] = random.randint(1, 100) model = Algorithm run_rank = model.objects.filter( rating__gt=int(resp['score'])).order_by('ranking') if len(run_rank) > 0: rankobj = run_rank.last() rank = rankobj.ranking + 1 else: rank = 1 run_rank_low = model.objects.filter(rating__lte=int(resp['score'])) if len(run_rank_low) > 0: for i in run_rank_low: i.ranking += 1 i.save() else: pass b = Algorithm(run_id=self.uuid_index, name=request.user.username, user=request.user, ranking=rank, rating=resp['score'], button=button_type, time=resp['duration'], cpu=18) b.save() job_post = u'{0} has sent a job score: {1} rank: {2} :'.format( request.user.username, resp['score'], rank) resp = model.objects.all().order_by('ranking') values = resp.values('run_id') for ind, item in enumerate(values): if (item['run_id']) == self.uuid_index: paging = divmod(ind, 5)[0] feed = Feed(user=request.user, post=job_post, job_link='/leaderboard?q=foo&flop=flip&page=' + str(paging + 1)) feed.save() #request.user.profile.notify_job_done(b) like = Activity(activity_type=Activity.RUN_PROCESSED, feed=feed.pk, user=request.user) like.save() user = request.user user.profile.notify_liked_bis(feed) return paging
sys.stdout.flush() password1 = getpass.getpass() sys.stdout.write(PROMPT + "Confirm New Admin ") sys.stdout.flush() password2 = getpass.getpass() if password1 == password2 and 12 <= len(password1): password = password1 else: print(WARN + 'Error: Passwords did not match, or were less than 12 chars') os._exit(1) ### Initialize algorithms md5 = Algorithm( name=u'MD5', length=32, chars=u'1234567890ABCDEF', ) lm = Algorithm( name=u'LM', length=16, chars=u'1234567890ABCDEF', ) ntlm = Algorithm( name=u'NTLM', length=16, chars=u'1234567890ABCDEF', ) dbsession.add(md5) dbsession.add(lm) dbsession.add(ntlm)
def execute_upload(self,request): import uuid form = self.form_class(request.POST, request.FILES) if form.is_valid(): #resp = self.handle_uploaded_file(request.FILES['file']) with open('uploaded_custom.py', 'wb+') as destination: for chunk in request.FILES['file'].chunks(): destination.write(chunk) destination.close() proxy = callme.Proxy(server_id='fooserver2',amqp_host='amqp://*****:*****@37.187.117.106/echopen1', timeout=3600) resp = proxy.denoise(open('uploaded_custom.py', 'rb').read()) self.uuid_index = str(uuid.uuid4()) model = Algorithm run_rank = model.objects.filter(rating__gt=int(resp['score'])).order_by('ranking') if len(run_rank) > 0: rankobj = run_rank.last() rank = rankobj.ranking + 1 else: rank = 1 run_rank_low = model.objects.filter(rating__lte=int(resp['score'])) if len(run_rank_low) > 0 : for i in run_rank_low: i.ranking += 1 i.save() else: pass b = Algorithm(run_id= self.uuid_index, name=request.user.username, user=request.user, ranking = rank, rating=resp['score'], button = button_type, time= resp['duration'], source_code=source, cpu=18) b.save() job_post = u'{0} has sent a job score: {1} rank: {2} :'.format(request.user.username,resp['score'], rank) resp = model.objects.all().order_by('ranking') values = resp.values('run_id') for ind, item in enumerate(values) : if (item['run_id']) == self.uuid_index : paging = divmod(ind, 5)[0] feed = Feed(user=request.user, post=job_post, job_link='/leaderboard?q=foo&flop=flip&page='+str(paging+1)) feed.save() #request.user.profile.notify_job_done(b) like = Activity(activity_type=Activity.RUN_PROCESSED, feed=feed.pk, user=request.user) like.save() user = request.user user.profile.notify_liked_bis(feed) return paging
#!/usr/bin/env python import sqlalchemy from models import Algorithm, Base, Currency, Wallet if __name__ == "__main__": engine = sqlalchemy.create_engine('sqlite:///:memory:', echo=True) Base.metadata.create_all(engine) Session = sqlalchemy.orm.sessionmaker(bind=engine) algo = Algorithm(name="crytponight") session = Session() session.add(algo) session.commit()