def commit(self): def getCommitDate(date): return date[:4] + '-' + date[4:6] + '-' + date[6:8] + ' ' + \ date[9:11] + ':' + date[11:13] + ':' + date[13:15] def getUserName(user): return str(user).split(' <')[0] def getUserEmail(user): email = search('<.*@.*>', str(user)) if email == None: return '<%s@%s>' % (user.lower().replace(' ','.').replace("'", ''), mailSuffix) else: return email.group(0) files = [] for file in self.files: files.append(file.file) for file in self.files: file.add(files) cache.write() env = os.environ user = users.get(self.user, self.user) env['GIT_AUTHOR_DATE'] = env['GIT_COMMITTER_DATE'] = str(getCommitDate(self.date)) env['GIT_AUTHOR_NAME'] = env['GIT_COMMITTER_NAME'] = getUserName(user) env['GIT_AUTHOR_EMAIL'] = env['GIT_COMMITTER_EMAIL'] = str(getUserEmail(user)) comment = self.comment if self.comment.strip() != "" else "<empty message>" try: git_exec(['commit', '-m', comment.encode(ENCODING)], env=env) except Exception as e: if search('nothing( added)? to commit', e.args[0]) == None: raise
def check_totp(user_id: str, code: str): """Checks if the code of a user is correct for the current moment. Arguments: user_id -- user to check against code -- 4-digit string TOTP code. Returns True if the code is valid for the current or previous time window """ if not users.get(user_id): raise HTTPException(status_code=404, detail="User '{}' not found".format(user_id)) check_response = TotpCheckResult(success=False, misses_since_success=1000) try: # success if code is valid for current or immediately preceding time window check_response.success = check_code(users[user_id].totp_secret, code) or \ check_code(users[user_id].totp_secret, code, int(time()) - time_window) except ValueError as e: raise HTTPException(status_code=400, detail=str(e)) if not check_response.success: users[user_id].misses_since_success += 1 else: users[user_id].misses_since_success = 0 check_response.misses_since_success = users[user_id].misses_since_success return check_response
def commit(self): def getUserEmail(user): return '<%s@%s>' % (user.lower().replace(' ','.').replace("'", ''), mailSuffix) files = [] for file in self.files: files.append(file.file) for file in self.files: file.add(files) env = {} user = users.get(self.user, self.user) user = str(user) env['GIT_AUTHOR_DATE'] = env['GIT_COMMITTER_DATE'] = str(self.date) env['GIT_AUTHOR_NAME'] = env['GIT_COMMITTER_NAME'] = user env['GIT_AUTHOR_EMAIL'] = env['GIT_COMMITTER_EMAIL'] = getUserEmail(user) comment = self.comment if self.comment.strip() != "" else "<empty message>" git_exec(['commit', '-m', comment], env=env)
def get_pw(username): if username in users: return users.get(username) return None