Ejemplo n.º 1
0
def main():
    args = arguments.Args()

    if args.get(0) == 'firefox':
        puts('Grabbing cookies from Firefox')
        jar = browsercookie.firefox()
    elif args.get(0) == 'chrome':
        puts('Grabbing cookies from Chrome')
        jar = browsercookie.chrome()
    else:
        puts('Grabbing cookies from Firefox')
        jar = browsercookie.firefox()

    url = 'https://www.safaribooksonline.com/a/export/csv/'

    puts('\nWaiting for download to begin... (may take a while)')

    with blindspin.spinner():
        r = requests.get(url, stream=True, cookies=jar)

    total_size = int(r.headers.get('content-length', 0))

    filename = 'safari.csv'

    with open(filename, 'wb') as out_file:

        for chunk in progress.bar(r.iter_content(chunk_size=1024), expected_size=(total_size/1024) + 1): 
            if chunk:
                out_file.write(chunk)
                out_file.flush()

    puts('File saved to {filename}\n'.format(filename=filename))
Ejemplo n.º 2
0
def find_request_id(profile, bucket, request_id):
    # pick a file to inspect
    session = boto3.Session(profile_name=profile)
    s3_client = session.client('s3')
    files = s3_client.list_objects_v2(Bucket=bucket, Prefix='cloudfront-log')
    args = arguments.Args()
    logs = [k['Key'] for k in files['Contents']]
    logs.reverse()
    for log in logs:
        s3obj = s3_client.get_object(Bucket=bucket, Key=log)
        with gzip.open(s3obj['Body'], 'rt') as f:
            responses = parse(f.readlines())
            for r in responses:
                if r.request_id == request_id:
                    puts("Found!")
                    puts(
                        columns(
                            [colored.green(r.http_method), 6],
                            [colored.red(r.status_code), 6],
                            [colored.red(r.edge_result_type), 10],
                            [colored.yellow(r.request_id), 56],
                            [colored.magenta(str(r.timestamp)), 20],
                            [colored.blue(r.path), None],
                        ))
                    exit(0)
Ejemplo n.º 3
0
def main(args=None):
    if args == None:
        args = arguments.Args()
        if len(args) < 4:
            print(
                'Returns Github Issues from the Github API based on the arguments and generates an HTML table.'
            )
            print(
                'Usage: python report.py <GITHUB_TOKEN> <GITHUB_REPO> <GITHUB_ORG> <GITHUB_ISSUE_LABEL> >report.html'
            )
            exit(1)
    token = args.get(0)
    repository = args.get(1)
    organization = args.get(2)
    label = args.get(3)
    if token is not None and repository is not None and organization is not None and label is not None:
        g = Github(token)
        repos = g.get_organization(organization).get_repos(repository)
    title = 'Github Issue Status'
    d = dominate.document(title=title)
    with d.body:
        h1(title)
        with table(border='1', width='1024', cellpadding='10').add(tbody()):
            make_table(repos, label)
    print(d)
def input_type():
    """
    Takes command line arguments using Clint
    :return: argument 
    """

    args = arguments.Args()
    return str(args.flags[0])
Ejemplo n.º 5
0
def cli():
    """
    Flag handling here
    """
    arg = arguments.Args().get(0)
    if arg == '--deploy':
        deploy()
        exit()
    """
    CLi for using deckhand
    """
    log("Riot Games Data Dump Analyzer", color="blue", figlet=True)

    action = get_actions()
    return None
Ejemplo n.º 6
0
def main():
    args = arguments.Args()
    services = sunlight.available_services()
    service = services.get(args.get(0), None)

    def is_exposable_method(object, m):
        return (not m.startswith('_') and m != 'get'
                and callable(getattr(service, m, None)))

    if service is not None:
        available_methods = [
            m for m in dir(service) if is_exposable_method(service, m)
        ]
        if args.get(1) in available_methods:

            params = dict([(f.strip('--'), args.value_after(f))
                           for f in args.flags.all])
            fn_args = [g.split(',') for g in args.grouped.get('_')[2:]]
            fn_args = list(itertools.chain.from_iterable(fn_args))
            try:
                resp = getattr(service, args.get(1))(*fn_args, **params)
            except Exception as e:
                error_name = e.__class__.__name__ if e.__class__.__name__ != 'type' else 'Error'
                puts_err(colored.red("{}:".format(error_name)))
                with indent(4):
                    puts_err(colored.yellow(e.message.decode()))
                return
            meta = getattr(resp, '_meta', None)
            if meta:
                puts(colored.yellow(json.dumps(meta, indent=2)))
            puts(colored.blue(json.dumps(resp, indent=2) + '\n'))
        else:
            help(methods=available_methods)  # missing or invalid method param

    else:
        help(services=services)  # missing or invalid service parameter
Ejemplo n.º 7
0
def main():
    args = arguments.Args()
    invalid_files = args.not_flags.not_files.all
    if any(f for f in args.flags.all if f not in FLAGS):
        usage()
        sys.exit(1)
    if args.contains(('-h', '--help')):
        usage()
        sys.exit()
    if invalid_files:
        print("Invalid files found")  # TODO
        sys.exit(1)
    fix = args.contains(('-f', '--fix'))

    for filename in args.files:
        checker = EditorConfigChecker(fix=fix)
        try:
            props = get_properties(abspath(filename))
        except EditorConfigError as e:
            print(e)
            continue
        else:
            for error in checker.check(filename, props):
                print("%s: %s" % (filename, error))
Ejemplo n.º 8
0
import bank
from clint import arguments

# Get user arguments
args = arguments.Args()
if args.get(0) is None:
    print("No functonality has been built yet for command line arguments")

conn = bank.Connector('localhost', user='******', passwd='password', db='init')

print("**************** print all persons in database****************")
# perform query and get results
result = conn.query('SELECT * FROM person')
for item in result:
    person = item.wrap(bank.Person)
    print("Hi my name is {0.name} with id {0.person_id}".format(person))

print("\n**************** print person that has id = 1 ****************")
# retrieves the person SQL table that has id 1
result = conn.query("select * from person where `person_id` = 1")
first = list(result)[0]
person1 = first.wrap(bank.Person)
print("Person 1 has id {0.name} and has name {0.person_id}".format(person1))

# deposit money into accounts account
result = conn.query("select * from account where `account_id` = 1")
first = list(result)[0]
account1 = first.wrap(bank.Account)
account1 = account1.put(10)

print("\n**************** interface for connecting ****************")
Ejemplo n.º 9
0
from clint import arguments
from clint.textui import puts, colored

#i am thinking of removing puts/prompt.query for print/input
#this is far from ideal but a little more abstraction
if __name__ == '__main__':
    mode = arguments.Args()[0]
    args = arguments.Args()

    #project init
    import initialization
    if mode in initialization.options:
        initialization.handler(mode, args)

    #edjudje is needed
    import src
    if mode in src.options:
        src.handler(mode, args)

    #just working with material on computer
    import offline
    if mode in offline.options:
        offline.handler(mode, args)

    puts(colored.red(f"No valid arguments were found"))
    puts("Try: " + colored.yellow("caos help"))