예제 #1
0
    def __init__(self):
        
        self.scanners = scanners.Scanners()
        self.groups = groups.Groups()
        self.session = session.Session()       
                  
        self.global_vars = {'requested_scanners_string':"all",
                   'requested_groups_string':"",
                   'proxychains_string':"",
                   'add_options_string':"",
                   'session_name':"",
                   'add_options_string':"",
                   'tflag':False,
                   'goodork_flag':False,
                   'dork':"",
                   'target_url':"",
                   'targets_file':"",
                   'dorks_file':"",
                   'save_dir':config.CURRENT_DIR + "/output/",
                   'dorks_country':"",
                   'next_url':False,
                   'delete_file':False,
                   'db_file':False,
                   'advanced_search_url':"",
                    }

        self.flags = {'uflag':False,
                    'fflag':False,
                    'dorks_flag':False,
                    'dorks_file_flag':False,
                    'sflag':False,
                    'save_dir_flag':False
                    }
예제 #2
0
    def test_part_two(self):
        "Test part two example of Groups object"

        # 1. Create Groups object from text
        myobj = groups.Groups(part2=True, text=aoc_06.from_text(PART_TWO_TEXT))

        # 2. Check the part two result
        self.assertEqual(myobj.part_two(verbose=False), PART_TWO_RESULT)
예제 #3
0
    def test_part_one(self):
        "Test part one example of Groups object"

        # 1. Create Groups object from text
        myobj = groups.Groups(text=aoc_06.from_text(PART_ONE_TEXT))

        # 2. Check the part one result
        self.assertEqual(myobj.part_one(verbose=False), PART_ONE_RESULT)
예제 #4
0
    def update(self, liveData):
        self.clearScreen()
        self.writeStatusLine(liveData.measurements)
        metricGroups = groups.Groups(liveData.measurements)
        visible = metricGroups.all()[:self.availableLines()]
        tableForm = self._prepareTable(visible)
        for index, row in enumerate(tableForm.rows()):
            self.writeLine(row, index + 1)

        self.refresh()
예제 #5
0
    def update(self, liveData):
        self.clearScreen()
        self.writeStatusLine(liveData.measurements)
        metricGroups = groups.Groups(liveData.measurements)
        visible = metricGroups.all()
        tableForm = self._prepareTable(visible)
        for row in tableForm.rows():
            self.writeLine(row)

        self.refresh()
예제 #6
0
    def test_text_init(self):
        "Test the Groups object creation from text"

        # 1. Create Groups object from text
        myobj = groups.Groups(text=aoc_06.from_text(EXAMPLE_TEXT))

        # 2. Make sure it has the expected values
        self.assertEqual(myobj.part2, False)
        self.assertEqual(len(myobj.text), 5)
        self.assertEqual(len(myobj.groups), 5)
예제 #7
0
    def test_empty_init(self):
        "Test the default Groups creation"

        # 1. Create default Groups object
        myobj = groups.Groups()

        # 2. Make sure it has the default values
        self.assertEqual(myobj.part2, False)
        self.assertEqual(myobj.text, None)
        self.assertEqual(len(myobj.groups), 0)
예제 #8
0
    def test_part_two(self):
        """Check the part two examples"""

        # 1. Loop for all the part one score examples
        for enum, etext in enumerate(P2_EXAMPLES):

            # 2. Create the score example
            mygrp = groups.Groups(text=etext, part2=True)

            # 3. Verifty the results
            self.assertEqual(mygrp.trash, P2_NUMBERS[enum])
예제 #9
0
    def test_part_one_groups(self):
        """Check the part one group examples"""

        # 1. Loop for all the part one group examples
        for enum, etext in enumerate(P1_GROUP_EXAMPLES):

            # 2. Create the group example
            mygrp = groups.Groups(text=etext)

            # 3. Verifty the results
            self.assertEqual(mygrp.group, P1_GROUP_NUMBERS[enum])
예제 #10
0
    def test_text_init(self):
        """Test Groups creation from text"""

        # 1. Create Instruction object from text
        mygrp = groups.Groups(text="{<a>,<a>,<a>,<a>}")

        # 2. Make sure it has the specified values
        self.assertEqual(mygrp.part2, False)
        self.assertEqual(mygrp.state, 1)
        self.assertEqual(mygrp.level, 0)
        self.assertEqual(mygrp.group, 1)
        self.assertEqual(mygrp.score, 1)
        self.assertEqual(str(mygrp), "s=1 l=0 g=1 s=1")
예제 #11
0
    def test_empty_init(self):
        """Test default Groups creation"""

        # 1. Create default Groups object
        mygrp = groups.Groups()

        # 2. Make sure it has the default values
        self.assertEqual(mygrp.part2, False)
        self.assertEqual(mygrp.state, 0)
        self.assertEqual(mygrp.level, 0)
        self.assertEqual(mygrp.group, 0)
        self.assertEqual(mygrp.score, 0)
        self.assertEqual(str(mygrp), "s=0 l=0 g=0 s=0")
예제 #12
0
def part_two(args, input_lines):
    "Process part two of the puzzle"

    # 1. Create the puzzle solver
    solver = groups.Groups(part2=True, text=input_lines)

    # 2. Determine the solution for part two
    solution = solver.part_two(verbose=args.verbose, limit=args.limit)
    if solution is None:
        print("There is no solution")
    else:
        print("The solution for part two is %s" % (solution))

    # 3. Return result
    return solution is not None
예제 #13
0
def part_one(args, input_lines):
    "Process part one of the puzzle"

    # 1. Create the puzzle solver
    solver = groups.Groups(part2=False,
                           text=input_lines[0],
                           verbose=args.verbose, limit=args.limit)

    # 2. Get the group score
    solution = solver.score
    if solution is None:
        print("There is no group score")
    else:
        print("The group score is %d" % (solution))

    # 3. Return result
    return solution is not None
예제 #14
0
def part_two(args, input_lines):
    "Process part two of the puzzle"

    # 1. Create the puzzle solver
    solver = groups.Groups(part2=True,
                           text=input_lines[0],
                           verbose=args.verbose, limit=args.limit)

    # 2. Get the number of garbage characters
    solution = solver.trash
    if solution is None:
        print("There were no trash characters removed")
    else:
        print("There were %d non-canceled characters are within the garbage" %
              (solution))

    # 3. Return result
    return solution is not None
예제 #15
0
def group_hashes(hashes):
    debug('Start grouping hashes...')

    g = groups.Groups(hashes.keys())
    for k1, v1 in iterview(hashes.items()):
        img_id = g.find(str(k1))
        for k2, v2 in hashes.items():
            if k1 == k2:
                continue
            if v1 - v2 <= HASH_THRESHOLD:
                g.unite(img_id, str(k2))

    # groups with only one element are filtered
    group_result = g.get()
    cnt = Counter(group_result.values())
    filtered = [item for item in group_result.items()]
    filtered = filter(lambda g: True if cnt[g[1]] > 1 else False, filtered)

    return filtered
예제 #16
0
def main():

	all_groups = groups.Groups()
	all_groups.add('CEO', None)
	all_groups.add('Senior Managers','CEO')
	all_groups.add('Midlevel Managers','Senior Managers')
	all_groups.add('Junior Managers','Midlevel Managers')
	all_groups.add('Engineers','Junior Managers')

	usrs = users.Users()
	usrs.add_user('Anna', '*****@*****.**', '9055555555', all_groups.get('Engineers'))
	usrs.add_user('Bob', '*****@*****.**', '9055555555', all_groups.get('Engineers'))
	usrs.add_user('Clarise', '*****@*****.**', '9055555555', all_groups.get('Junior Managers'))
	usrs.add_user('Desmond', '*****@*****.**', '9055555555', all_groups.get('Midlevel Managers'))
	usrs.add_user('Elis', '*****@*****.**', '9055555555', all_groups.get('Senior Managers'))
	usrs.add_user('Frank', '*****@*****.**', '9055555555', all_groups.get('Senior Managers'))
	usrs.add_user('Gomez', '*****@*****.**', '9055555555', all_groups.get('CEO'))

	author = usrs.get_users()[0]
	name = "Barrel Roll"
	description = "Do a barrel roll!"

	r = Request(enums.TestType.SEVERE, usrs, author, name, description)
	r.print_request()
예제 #17
0
 def initialize(self):
     """Performs initialization that needs to happen after the Bot object is
     constructed.
     """
     self.user = user.User(self, groups.Groups(self.database),
                           steam.client.SteamClient())
예제 #18
0
# [1, :] max
# [2, :] optimal
groupsize = inputdata[1:4, 2:].astype(int)

names = inputdata[4:, 1]
groupnames = inputdata[0, 2:]
'''
transforming data
'''
transformed_choice = choice - np.amin(choice) + 1
transformed_choice = transformed_choice / np.amax(transformed_choice)
transformed_choice = -np.log(transformed_choice)
'''
group combinations
'''
possible_groups = groups.Groups(groupsize.astype(int), choice.shape[0])
'''
match linear_sum_assignment to original group
'''


def output_solution(choice_interval, col_ind):
    assigned_group = []
    for val in col_ind:
        assigned_group.append(
            next(x[0] for x in enumerate(choice_interval) if x[1] > val))
    return assigned_group


'''
calculate the overall choice satisfaction