def createLogger(fileLocation='degug.log'): CONFIG = get_settings() logger = logging.getLogger('gitlab-class-utils') fileHandler = FileHandler(fileLocation) fileHandler.setLevel(logging.WARNING) fileHandler.setFormatter( Formatter('%(asctime)s %(levelname)s: %(message)s ' '[in %(pathname)s:%(lineno)d]')) logger.addHandler(fileHandler) return logger
from calibre.ebooks.metadata.meta import get_metadata from calibre import fit_image, guess_type from calibre.utils.date import fromtimestamp from calibre.utils.smtp import sendmail, create_mail from calibre.utils.logging import Log, FileStream from calibre.utils.filenames import ascii_filename from calibre.utils.magick.draw import (save_cover_data_to, Image, thumbnail as generate_thumbnail) from calibre.customize.conversion import OptionRecommendation, DummyReporter # import douban from models import Reader, Message, Item messages = defaultdict(list) import loader CONF = loader.get_settings() def day_format(value, format='%Y-%m-%d'): try: return value.strftime(format) except: return "1990-01-01" def website_format(value): links = [] for link in value.split(";"): if link.startswith("douban://"): douban_id = link.split("//")[-1] links.append(
import sys, os import requests import json from loader import get_settings CONFIG = get_settings() BASE_URL = CONFIG.get('HOSTNAME', "https://gitlab.com/") class GitlabAPI: def __init__(self, private_token, *args, **kwargs): self.private_token = private_token def get_user_details(self, username): private_token = self.private_token res = requests.get(BASE_URL + "api/v3/users/?username=%s" % username, headers={"PRIVATE-TOKEN": private_token} ) # print(res.text, file=sys.stderr) resJson = json.loads(res.text) if len(resJson) == 0: raise Exception("The user was not found") if "error" in resJson: raise Exception("The server returned an error") userid = resJson[0] return userid
import os, sys import csv import json from flask import Flask from flask import render_template from flask import request # from students import userslist from gitlab import GitlabAPI #get_user_details, get_group_details, add_user_to_group from loader import get_settings, get_students app = Flask(__name__) app.config.update(get_settings()) @app.route("/", methods=['GET']) def adduser(): private_token = app.config['GITLAB_PRIVATE_TOKEN'] groupname = app.config['GROUPNAME'] template = 'index.html' username = request.args.get("username") userslist = get_students() if username is not None: if username.lower() not in userslist: return render_template( template, error= 'Your username does not appear to be in the list of users. Contact your instructor if you think this is in error' )
from loader import get_settings from gitlab import GitlabAPI if __name__ == '__main__': print("command line args") config = get_settings() private_token = config['GITLAB_PRIVATE_TOKEN'] private_token gl = GitlabAPI(private_token) group_id = gl.get_group_details(config['GROUPNAME'])["id"] print(group_id) # i = 1 # allmembers = [] # while True: # members = gl.get_group_members(group_id, page=i, perpage=100) # print(members) # if len(members) == 0: # break # i = i + 1 # allmembers.append(members) # allmembers = [item for sublist in allmembers for item in sublist] # print(allmembers)