def upload(): """ Form to upload a document. :query revises: ID this doc is a new revision of. """ form = UploadForm() if form.validate_on_submit(): try: filename = documents.save(form.file.data) except UploadNotAllowed: flash('Unsupported file type') return redirect(url_for('bp.home')) title = form.title.data doc = Document(filename, title=title) db.session.add(doc) db.session.commit() revises = request.args.get('revises') if revises is not None: revises = kore_id(revises) (project, oldrev) = Revision.project_for(revises) revision = Revision(project, oldrev+1, doc.id) db.session.add(revision) db.session.commit() flash('Uploaded') return redirect(url_for('.view', id=koremutake.encode(doc.id)))
def genKoremutakePass(length): import koremutake # pylint:disable=import-outside-toplevel pw = koremutake.encode(int.from_bytes(getNBit(length), sys.byteorder)).upper() entr = ceil(length / 8) * 8 return (pw, entr)
def view_revisions(id): """ View all the Revisions associated to a document. """ id = kore_id(id) history = Revision.history(id) revs = ((koremutake.encode(rev.doc), rev.version) for rev in history) return render_template('revisions.html', revs=revs)
def __call__(self, key_exist=None, tries=5): rbytes = os.urandom(self.max_bytes) try: rbytes = rbytes.encode('hex') random_int = int(rbytes, 16) except AttributeError: random_int = int.from_bytes(rbytes, byteorder='big') key = six.text_type(koremutake.encode(random_int)) if key_exist is not None: if key_exist(key): return self.__call__(key_exist=key_exist, tries=tries - 1) return key
def send_all(self, queryset, message): # Check if a password or autologin message is_welcome_message = False is_autologin_message = False if "|password|" in message: is_welcome_message = True if "|autologin|" in message: is_autologin_message = True successful = 0 fail = [] for learner in queryset: password = None if is_welcome_message: # Generate password password = koremutake.encode(randint(10000, 100000)) learner.password = make_password(password) if is_autologin_message: # Generate autologin link learner.generate_unique_token() learner.save() # Send sms try: sms, sent = self.send( learner.username, message=message, password=password, autologin=get_autologin_link(learner.unique_token) ) except: sent = False pass if sent: successful += 1 else: fail.append(learner.username) # Save welcome message details if is_welcome_message and sent: learner.welcome_message = sms learner.welcome_message_sent = True learner.save() return successful, fail
def random_jobid(): jobid = "" while jobid in jobdict: jobid = km.encode(random.randint(0, 128**3)) return jobid
def title_or_id(self): return self.title or koremutake.encode(self.id)
def save(self, *args, **kwargs): if not self.code: code = random.randint(100000000, 99999999999) self.code = koremutake.encode(code) return super(Inbox, self).save(*args, **kwargs)