示例#1
0
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
示例#2
0
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(
示例#3
0
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
示例#4
0
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'
            )
示例#5
0
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)