Beispiel #1
0
 def test_repo(self):
     repo = Repository('Jabref', 'jabref')
     repo.scrape()
     loader_repos = Loader('user')
     i = 0
     data_repos = loader_repos.load_data()
     for x in data_repos:
         i += 1
         if i == 1:
             self.assertEqual("1", x['total_pr'])
Beispiel #2
0
 def test_repo(self):
     repo = Repository('Jabref', 'jabref')
     repo.scrape()
     loader_repos = Loader('repo')
     i = 0
     data_repos = loader_repos.load_data()
     for x in data_repos:
         i += 1
         if i == 1:
             self.assertEqual("jabref", x['name'])
             self.assertEqual("Jabref", x['login'])
Beispiel #3
0
    def testAddProposition(self):
        repo = Repository("sentences.txt")
        controller = Controller(repo)

        assert controller.addProp("a") == False
        assert controller.addProp("anna has apples") == False
        assert controller.addProp("Unu doi trei") == True

        assert repo.verifyPropositionFromText("a") == False
        assert repo.verifyPropositionFromText("anna has apples") == False
        assert repo.verifyPropositionFromText("Unu doi trei") == False
        assert repo.verifyPropositionFromText("Unu doi trei patru") == True
Beispiel #4
0
 def test_repo(self):
     repo = Repository('Jabref', 'jabref')
     repo.scrape()
     loader_repos = Loader('repo')
     i = 0
     data_repos = loader_repos.load_data()
     for repo in data_repos:
         loader_prs = Loader('pr')
         loader_prs.set_login(repo['login'])
         loader_prs.set_name(repo['name'])
         data_prs = loader_prs.load_data()
         for data_pr in data_prs:
             i += 1
             if i == 1:
                 self.assertEqual("24", data_pr['number'])
             if i == 2:
                 self.assertEqual("20", data_pr['number'])
             if i == 3:
                 self.assertEqual("16", data_pr['number'])
             if i == 4:
                 self.assertEqual("15", data_pr['number'])
Beispiel #5
0
@help.usage(__doc__)
def usage():
    s = "Syntax: %s [-options] <path> <release> <component> <arch>" % sys.argv[0]
    print >> sys.stderr, s

def main():
    try:
        opts, args = getopt.gnu_getopt(sys.argv[1:], "", 
                                       ['pool=', 'origin=', 'version='])
    except getopt.GetoptError, e:
        usage(e)

    kws = {'pool': 'pool', 'version': '1.0', 'origin': 'turnkeylinux'}
    for opt, val in opts:
        kws[opt[2:]] = val

    if not args:
        usage()

    if len(args) != 4:
        usage("bad number of arguments")

    path, release, component, arch = args

    repo = Repository(path, release, **kws)
    repo.index(component, arch)

if __name__ == "__main__":
    main()

Beispiel #6
0
def execute():
    # request the system to collect data for a specific repository
    if options.collect:
        # scrape repository specified
        repo = Repository(options.collect[0], args[0])
        repo.scrape()

        # scrape pull requests for this repository, including users
        pr = PullRequest(options.collect[0], args[0])
        pr.scrape()
        return

    # list all repos collected
    loader_repos = Loader('repo')
    data_repos = loader_repos.load_data()
    if options.repos:
        for data_repo in data_repos:
            description = data_repo['login'] + '/' + data_repo['name'] + ': ' + data_repo['description'] + ' (' + \
                          data_repo['watchers'] + ' of stars)'
            print(description)

    # list all pull requests from a repo (or summary)
    if options.pullrequest or options.summary:
        # list all repos for choosing
        print("Repositories: ")
        for data_repo in data_repos:
            description = data_repo['login'] + '/' + data_repo['name']
            print(description)

        # choose and list pull requests
        login_chosen = input("\nUsername (login): ")
        name_chosen = input("Repository Name: ")
        loader_prs = Loader('pr')
        loader_prs.set_login(login_chosen)
        loader_prs.set_name(name_chosen)
        data_prs = loader_prs.load_data()

        # output the detail
        if options.pullrequest:
            for data_pr in data_prs:
                description = 'title: ' + data_pr['title'] + ', number: ' + data_pr['number'] + ', state: ' + data_pr['state'] + ', by user: '******'user'] + ', commits: ' + data_pr['commits']
                print(description)

        # output summary
        if options.summary:
            pr_open = 0
            pr_closed = 0
            pr_users = []
            smallest_number = 999999
            oldest_date = ''
            for data_pr in data_prs:
                if data_pr['state'] == 'open':
                    pr_open += 1
                if data_pr['state'] == 'closed':
                    pr_closed += 1
                pr_users.append(data_pr['user'])
                if int(data_pr['number']) < smallest_number:
                    smallest_number = int(data_pr['number'])
                    oldest_date = data_pr['created_at']
            pr_users = len(set(pr_users))
            print("\nRepository Summary:\n")
            print("number of pull requests in 'open' state:", pr_open)
            print("number of pull requests in 'closed' state:", pr_closed)
            print("number of users:", pr_users)
            print("date of the oldest pull request:", oldest_date)
            # twitter data is located in user class

    # create graphics given a repo, or create graphics considering all pull requests from all repos
    if options.graph or options.allpr:
        graph = Graph()
        if options.graph:
            graph.set_repo(options.graph[0], args[0])
        graph.display()

    # calculate the correlation between the data collected for a user
    if options.usercorrelation:
        loader_repos = Loader('user')
        data_users = loader_repos.load_data()
        for user in data_users:
            co = np.corrcoef([int(user['followers']), int(user['following']), int(user['commit_last_year'])])
            print("Correlation: ", co)

    # calculate the correlation between all the numeric data in the pull requests for a repo
    if options.inprcorrelation:
        loader_repos = Loader('repo')
        data_repos = loader_repos.load_data()
        for repo in data_repos:
            loader_prs = Loader('pr')
            loader_prs.set_login(repo['login'])
            loader_prs.set_name(repo['name'])
            data_prs = loader_prs.load_data()
            for data_pr in data_prs:
                co = np.corrcoef([int(data_pr['number']), int(data_pr['commits']), int(data_pr['additions']), int(data_pr['deletions']), int(data_pr['changed_files'])])
                print("Correlation: ", co)
Beispiel #7
0
 def testGetLettersEnd(self):
     repo = Repository("sentences.txt")
     controller = Controller(repo)
     assert controller.GetLettersEnd("") == False
     assert controller.GetLettersEnd("doi patru") == ['d', 'i', 'p', 'u']
Beispiel #8
0
def main():
    repo = Repository("sentences.txt")
    controller = Controller(repo)
    MenuUI(controller, repo.getFileName())
Beispiel #9
0
from flask import Flask, request, redirect, jsonify
from flask_cors import CORS
from datetime import datetime
from threading import Thread

from util import generate_short_url
from repo import Repository

repository = Repository()

SHORT_URL_LENGTH = 7

app = Flask(__name__)
CORS(app)


@app.route('/')
def hello():
    return "Hello, World!"


@app.route('/create')
def create_url():
    url = request.args.get("url")
    id = generate_short_url(SHORT_URL_LENGTH)
    repository.add_url(url, id)

    return jsonify(id=id)


@app.route('/<id>')
Beispiel #10
0
 def __init__(self):
     self.repository = Repository("market.pkl")
     self.itemsOnMarket = self.repository.get_data()
Beispiel #11
0
 def __init__(self, name):
     self._repository = Repository(name)
Beispiel #12
0
from repo import Repository

#---------------------------REPOSITORIO SERVIDOR-----------------------------------------------------
#repositorio = Repository('10.25.163.18','5432','repositorio','repositorios','cl_rincao','cesar','senha')

#---------------------------REPOSITORIO CLIENTE-----------------------------------------------------
repositorio = Repository('localhost', '5432', 'repositorio', 'repositorios',
                         'cl_rincao', 'cesar', 'senha')

#----------------CRIANDO REPOSITORIO-----------------------

#repositorio.init()
repositorio.config('cesar', '*****@*****.**')

#---------------CRIANDO REPOSITORIO - IMPORTANDO DADOS DO BANCO------------------
#repositorio.branches['master'].pg_import_schema('10.25.163.18','5432','cl_rincao','dominios','cesar','senha')
#repositorio.branches['master'].add()
#repositorio.branches['master'].commit('inicio de projeto')
#print repositorio.branches['cesar'].log()
#print  repositorio.branches['master'].merge('cesar')

#---------------NOVO BRANCH--------------------------------------------
#repositorio.add_branch('cesar')
#print repositorio.branches['cesar'].log()

#---------------CLONANDO O REPOSITORIO---------------------------------
#repositorio.clone('localhost','5432','repositorio','repositorios','cl_rincao','cesar','senha')
#repositorio.config('cesar','*****@*****.**')
#---------------PUSH PULL --------------------------
#repositorio.branches['cesar'].pull('cesar')
#repositorio.branches['cesar'].push('cesar')
Beispiel #13
0
"""this module will execute the scraper and save the stats"""

from repo import Repository

REPOS = [line.rstrip('\n') for line in open("repositories.txt")]
for repo in REPOS:
    print "Running on %s" % (repo)
    r = Repository(repo)
    r.start()
    stats, folders = r.stats()
    f = open(repo.replace('/', '-'), "w")
    f.write("%s\n" % repo)
    f.write("%d lines in total\n" % r.total_lines)
    f.write("%d bytes in total\n" % r.total_bytes)
    f.write("%s\n" % stats)
    f.write(folders.encode('utf-8'))
    f.close()