Exemplo n.º 1
0
def onCommandClaim(sender, args):
    if not sender.hasPermission("plotmanager.claim"):
        sender.sendMessage("You don't have enough permissions to execute this command")
        return

    if len(args) == 1:
        x = Manager.getPlotX(sender.getLocation().getX())
        z = Manager.getPlotZ(sender.getLocation().getZ())

    elif len(args) == 3:
        x = int(args[1])
        z = int(args[2])

    else:
        sender.sendMessage("Usage: /plot claim [x] [z]")
        return

    if Manager.isOutOfRange(x, z):
        sender.sendMessage(''.join(["Plot ", str(x), ", ", str(z), " is out of range"]))
        return
        
    if Manager.claim(sender.getName(), x, z):
        sender.sendMessage(''.join(["You successfully claimed plot ", str(x), ", ", str(z)]))
    else:
        sender.sendMessage(''.join(["Failed to unclaim plot ", str(x), ", ", str(z), ". Make sure that this is a free plot and that you are allowed to claim plots"]))
Exemplo n.º 2
0
def startCalculator():
    op = 0
    n1 = man.inputNum()
    while (op <= 0 or op > +5):
        print "1)+"
        print "2)-"
        print "3)x"
        print "4)/"
        op = int(input("Choose operation: "))
    n2 = man.inputNum()
    goHome()
    print myJson[0]['function']
    dev.swipe(500, 1500, 500, 500, 30)

    # click Calculator btn
    myClick(dev(text=man.btns[0]))

    # click delete "C" btn
    myClick(dev(text=man.btns[1]))

    clickNum(n1)
    myClick(dev(text=operations[op - 1]))
    clickNum(n2)
    myClick(dev(text="="))
    print myJson[0]['expected_txt']
Exemplo n.º 3
0
def editor(state, feeds, googleapis, json_file, spread_sheet_name):
    print("Wait while Editor loads")
    manager = Manager(
        Authorize(feeds, googleapis, json_file, spread_sheet_name))
    termination_clause = "EXIT"
    manager_functions = {
        "exit": lambda: termination_clause,
        "help": lambda: manager_keys,
        "grade": manager.grade_name_week,
        "range": manager.grade_by_range
    }
    manager_keys = "The commands are: " + ', '.join(
        [k for k in manager_functions.keys()])

    while state != termination_clause:
        try:
            print(state)
            command, arguments = manager.parse_input(
                input("Ready for next Command \n"))
            state = manager_functions[command](*arguments)
        except KeyError:
            state = "Wrong command!"
        except TypeError:
            state = "Wrong arguments!"
        except ValueError:
            state = "Invalid argument types!"
        except gspread.exceptions.CellNotFound:
            state = "Cell not found!"
        except IndexError:
            state = "Not a valid range!"
Exemplo n.º 4
0
def onCommandSpecial(sender, args):
    if not sender.hasPermission("plotmanager.reserve"):
        sender.sendMessage("You don't have enough permissions to execute this command")
        return

    if len(args) == 2:
        x = Manager.getPlotX(sender.getLocation().getX())
        z = Manager.getPlotZ(sender.getLocation().getZ())

    elif len(args) == 4:
        x = int(args[2])
        z = int(args[3])
        
    else:
        sender.sendMessage("Usage: /plot special [x] [z]")
        return

    if Manager.isOutOfRange(x, z):
        sender.sendMessage(''.join(["Plot ", str(x), ", ", str(z), " is out of range"]))
        return

    del args[0]

    if Manager.special(x, z, ' '.join(args)):
        sender.sendMessage(''.join(["You successfully reserved plot ", str(x), ", ", str(z)]))
    else:
        sender.sendMessage(''.join(["Failed to reserve plot ", str(x), ", ", str(z), ". Make sure that this is a free plot"]))
Exemplo n.º 5
0
def sync():
    parser = argparse.ArgumentParser(description="synchronize Docker containers")
    parser.add_argument("-n", "--no-pull", dest="pull", action="store_false", help="don't pull images")
    parser.add_argument("config_dir", help="directory containing yaml config files")
    
    parsed_args = parser.parse_args()
    
    Manager.main(parsed_args.config_dir, pull=parsed_args.pull)
Exemplo n.º 6
0
	def connectMySQL(self, ev = None):
		try:
			manager = MySQLdb.connect(host = 'localhost', user = self.managerName.get(), passwd = self.password.get(), db = 'book_management', charset = 'utf8')
			self.clear()
			Manager.init(self.top, manager)
			self.top.quit() # 别忘了加这句话,要不然 Manager 的 quitButton 要按两次
		except MySQLdb.OperationalError, err:
			print err[0] == 2003
			print type(err)
Exemplo n.º 7
0
def clear_derived_condition_list_of_obstacle(request):
    user = request.user
    name = request.POST.get('name', None)

    Manager.clearDerivedConditionListOfObstacle(name, user)

    data = {}

    json_data = json.dumps(data)
    return HttpResponse(json_data, content_type='application/json')
Exemplo n.º 8
0
def clear_scenario_list_of_task(request):
    user = request.user
    name = request.POST.get('name', None)

    Manager.clearScenarioListOfTask(name, user)

    data = {}
    data['success'] = str(True).lower()

    json_data = json.dumps(data)
    return HttpResponse(json_data, content_type='application/json')
Exemplo n.º 9
0
def clear_task_list_of_work_profile(request):
    user = request.user
    name = request.POST.get('name', None)

    Manager.clearTaskListOfWorkProfile(name, user)

    data = {}
    data['success'] = str(True).lower()

    json_data = json.dumps(data)
    return HttpResponse(json_data, content_type='application/json')
Exemplo n.º 10
0
def clear_derived_condition_list_of_objective(request):
    user = request.user
    objective_name = request.POST.get('name', None)

    Manager.clearDerivedConditionListOfObjective(objective_name, user)

    data = {}
    data['success'] = str(True).lower()

    json_data = json.dumps(data)
    return HttpResponse(json_data, content_type='application/json')
Exemplo n.º 11
0
def delete_obstacle(request):

    user = request.user
    name = request.POST.get('name', None)

    Manager.deleteObstacle(name, user)

    data = {}

    json_data = json.dumps(data)
    return HttpResponse(json_data, content_type='application/json')
Exemplo n.º 12
0
def unlink_context_constraints_from_perm(request):
    user = request.user
    name = request.POST.get('name', None)

    Manager.unlinkContextConstraintsFromPerm(name, user)

    data = {}
    data['success'] = str(True).lower()

    json_data = json.dumps(data)
    return HttpResponse(json_data, content_type='application/json')
Exemplo n.º 13
0
def delete_step(request):

    user = request.user
    name = request.POST.get('name', None)

    Manager.deleteStep(name, user)

    data = {}
    data['success'] = str(True).lower()

    json_data = json.dumps(data)
    return HttpResponse(json_data, content_type='application/json')
Exemplo n.º 14
0
def unset_ssd_perm_constraint(request):
    user = request.user
    perm = request.POST.get('perm', None)
    mutlexcl = request.POST.get('mutlexcl', None)

    Manager.unsetSSDPermConstraint(perm, mutlexcl, user)
    Manager.unsetSSDPermConstraint(mutlexcl, perm, user)

    data = {}
    data['success'] = str(True).lower()

    json_data = json.dumps(data)
    return HttpResponse(json_data, content_type='application/json')
Exemplo n.º 15
0
 def connectMySQL(self, ev=None):
     try:
         manager = MySQLdb.connect(host='localhost',
                                   user=self.managerName.get(),
                                   passwd=self.password.get(),
                                   db='book_management',
                                   charset='utf8')
         self.clear()
         Manager.init(self.top, manager)
         self.top.quit()  # 别忘了加这句话,要不然 Manager 的 quitButton 要按两次
     except MySQLdb.OperationalError, err:
         print err[0] == 2003
         print type(err)
Exemplo n.º 16
0
def main():
    global ProfessorList, StudentList, ManagerList
    select = 0
    while select != 6:
        select = int(input("1.Professor 2.Manager 3.Student 6.exit\n"))
        if select == 1:
            Professor.main(ProfessorList, ManagerList)
        elif select == 2:
            Manager.main(ManagerList)
        elif select == 3:
            Student.main(StudentList)
        else:
            print("종료 합니다.")
            break
Exemplo n.º 17
0
def handleFile(outFile):
    manager = Manager()
    with open(fName, mode='r') as file:
        _lines = list(line for line in (l.strip() for l in file) if line)
        for lines in _lines:
            # line = lines.rstrip('\r\n')
            line = lines.split()
            # print(line)
            if not line:
                break
            ## Case: Init
            if line[0] == "in":
                outFile.write("\n")
                outFile.write(manager.initialize())

            ## Case: Create
            elif line[0] == "cr":
                output = manager.create(int(line[1]))
                if output == -1:
                    outFile.write("-1 ")
                else:
                    outFile.write(output)

            ## Case: Time Out
            elif line[0] == "to":
                outFile.write(manager.timeout())

            ## Case: Request
            elif line[0] == "rq":
                output = manager.request(int(line[1]), int(line[2]))
                if output == -1:
                    outFile.write("-1 ")
                else:
                    outFile.write(output)

            ## Case: Release
            elif line[0] == "rl":
                if int(line[1]) > 3 or int(line[1]) < 0:
                    outFile.write("-1 ")
                else:
                    r = manager.rcbList[int(line[1])]
                    result = manager.release(r, int(line[2]))
                    if result == -1:
                        outFile.write("-1 ")
                    else:
                        outFile.write(result)

            ## Case: Destroy
            elif line[0] == "de":
                if manager.pCount <= int(line[1]):
                    outFile.write("-1 ")
                else:
                    p = manager.pcbList[int(line[1])]
                    output = manager.destroy(p)
                    if output == -1:
                        outFile.write("-1 ")
                    else:
                        outFile.write(output)
Exemplo n.º 18
0
def add_tasks_to_work_profile(request):
    user = request.user
    tasks = request.POST.getlist('tasks[]', None)
    #tasks = request.POST.get('tasks', None)
    name = request.POST.get('name', None)

    print 'tasks are ', tasks
    data = {}
    error_message = ''
    try:
        success = Manager.addTasksToWorkProfile(tasks, name, user)

        if success:
            data['success'] = str(success).lower()
            #data['objective_name'] = name

            json_data = json.dumps(data)
            return HttpResponse(json_data, content_type='application/json')

    except:
        error_message = sys.exc_info()[1]
        print "Error: %s" % error_message

    json_data = json.dumps(data)
    return HttpResponse(json_data, content_type='application/json')
Exemplo n.º 19
0
def set_ssd_role_constraint(request):
    print 'set_ssd_role_constraint'
    user = request.user
    role = request.POST.get('role', None)
    mutlexcl = request.POST.get('mutlexcl', None)

    print request
    print 'role is ', role
    print 'mutlexcl is ', mutlexcl

    data = {}
    error_message = ''
    try:
        success = Manager.setSSDRoleConstraint(role, mutlexcl, user)

        if success:
            data['success'] = str(success).lower()

            json_data = json.dumps(data)
            return HttpResponse(json_data, content_type='application/json')

    except:
        error_message = sys.exc_info()[1]
        print "Error: %s" % error_message

    json_data = json.dumps(data)
    return HttpResponse(json_data, content_type='application/json')
Exemplo n.º 20
0
def create_role_create(request):
    user = request.user

    name = request.POST.get('name', None)
    junior = request.POST.getlist('junior[]', None)
    senior = request.POST.getlist('senior[]', None)

    data = {}
    error_message = ''
    try:
        success = Manager.createRole(name, junior, senior, user)

        if success:
            data['success'] = str(success).lower()
            json_data = json.dumps(data)
            return HttpResponse(json_data, content_type='application/json')

    except Exception as e:
        error_message = str(e)
        print 'ERROR - ', error_message
        data['success'] = str(False).lower()
        data['error_message'] = error_message

    json_data = json.dumps(data)
    return HttpResponse(json_data, content_type='application/json')
Exemplo n.º 21
0
def remove_senior_role_relation(request):
    print 'remove_senior_role_relation'
    #print request
    user = request.user
    role_name = request.POST.get('role', None)
    senior_name = request.POST.get('senior', None)

    print '1role_name is ', role_name
    print '1senior_name is ', senior_name

    data = {}
    error_message = ''
    try:
        success = Manager.removeSeniorRoleRelation(role_name, senior_name,
                                                   user)

        if success:
            data['success'] = str(success).lower()

            json_data = json.dumps(data)
            return HttpResponse(json_data, content_type='application/json')

    except:
        error_message = sys.exc_info()[1]
        print "Error: %s" % error_message

    json_data = json.dumps(data)
    return HttpResponse(json_data, content_type='application/json')
Exemplo n.º 22
0
def revoke_permission(request):
    print 'revoke_permission'

    user = request.user
    role_name = request.POST.get('role', None)
    perm_name = request.POST.get('perm', None)

    print 'role_name is ', role_name
    print 'perm_name is ', perm_name

    data = {}
    error_message = ''
    try:
        success = Manager.permRoleRevoke(perm_name, role_name, user)

        if success:
            data['success'] = str(success).lower()

            json_data = json.dumps(data)
            return HttpResponse(json_data, content_type='application/json')

    except:
        error_message = sys.exc_info()[1]
        print "Error: %s" % error_message

    json_data = json.dumps(data)
    return HttpResponse(json_data, content_type='application/json')
    def open_channels(self):
        file_path = tkFileDialog.askopenfilenames(
            title='Select MOLE tunnel files',
            filetypes=[('MOLE tunnels', '.xml .pdb .py')])

        if self.plugin_type == "PyMOL":
            file_path = self.fix_list(file_path)

        for chan_file in file_path:

            chan_file = os.path.normcase(chan_file)
            extension = os.path.splitext(chan_file)[1].lower()
            name = os.path.basename(chan_file).split('.')[0].lower()

            if len(extension) < 3:
                return

            try:
                if extension == '.py':
                    plugin.run(chan_file)
                if extension == '.xml':
                    Manager.Manager().parse_XML_channel(chan_file, name, self)
                if extension == '.pdb':
                    plugin().parse_PDB_channel(chan_file, name)

            except Exception, e:
                print(e)
def toManager(i):
    a = employeeList[i].GetJobTitle()
    b = employeeList[i].GetEmployeeID()
    c = employeeList[i].GetDepartment()
    d = employeeList[i].GetFirstName()
    e = employeeList[i].GetLastName()
    f = employeeList[i].GetGender()
    g = employeeList[i].GetBirthDate()
    h = employeeList[i].GetSINNumber()
    I = employeeList[i].GetPayroll()
    j = employeeList[i].GetMaritalStatus()
    k = employeeList[i].GetHomePhone()
    l = employeeList[i].GetWorkPhone()
    m = employeeList[i].GetAddress()
    n = employeeList[i].GetManagerName()
    o = employeeList[i].GetEducation()
    p = employeeList[i].GetStartDate()
    q = employeeList[i].GetEmail()
    r = employeeList[i].GetEmergencyFirstName()
    s = employeeList[i].GetEmergencyLastName()
    t = employeeList[i].GetEmergencyRelationship()
    u = employeeList[i].GetEmergencyPhoneNumber()
    v = employeeList[i].GetNumSickDaysTaken()
    w = employeeList[i].GetNumVacationDaysTaken()
    x = employeeList[i].GetPaytype()
    y = employeeList[i].GetNumDaysWorked()
    z = employeeList[i].GetOvertimeHours()
    deleteEmployee(b)
    blah = Manager("Manager", b, c, d, e, f, g, h, I, j, k, l, m, n, o, p, q,
                   r, s, t, u, v, w, x, y, z)
    employeeList.insert(i, blah)
Exemplo n.º 25
0
def main():
    app = QGuiApplication(argv)

    qmlRegisterType(Manager.Manager, 'BTManager', 1, 0, 'BTManager')
    qmlRegisterType(Notifier.Notifier, 'BTNotifier', 1, 0, 'BTNotifier')
    qmlRegisterType(Device.Device, 'Device', 1, 0, 'Device')

    print('Create my device')

    notifier = Notifier.Notifier()
    manager = Manager.Manager()
    manager.set_notifier(notifier)

    print('Bluetooth manager create')

    path = os.path.dirname(__file__)
    print('Detect run path')

    print('Run GUI')
    engine = QQmlApplicationEngine()
    engine.rootContext().setContextProperty('AppPath', path)
    engine.rootContext().setContextProperty('MyDevice', manager.my_device)
    engine.rootContext().setContextProperty('BTManager', manager)
    engine.rootContext().setContextProperty('BTNotifier', notifier)
    engine.load('ui/Main.qml')

    print('Start search for near by devices')
    manager.search(True)

    print('Execute app')
    exit(app.exec_())
Exemplo n.º 26
0
def onCommandAuto(sender, args):
    if not sender.hasPermission("plotmanager.claim"):
        sender.sendMessage("You don't have enough permissions to execute this command")
        return
    
    if len(args) != 1:
        sender.sendMessage("Usage: /plot auto")
        return

    x = 0
    z = 0
    step = 1

    name = sender.getName()

    while True:
        for i in xrange(0, step):
            if Manager.claim(name, x, z):
	        sender.sendMessage(''.join(["You successfully claimed plot ", str(x), ", ", str(z)]))
                return

            x -= 1
           
        for i in xrange(0, step):
            if Manager.claim(name, x, z):
	        sender.sendMessage(''.join(["You successfully claimed plot ", str(x), ", ", str(z)]))
                return

            z -= 1

        step += 2

        for i in xrange(0, step):
            if Manager.claim(name, x, z):
	        sender.sendMessage(''.join(["You successfully claimed plot ", str(x), ", ", str(z)]))
                return

            x += 1

        for i in xrange(0, step):
            if Manager.claim(name, x, z):
                sender.sendMessage(''.join(["You successfully claimed plot ", str(x), ", ", str(z)]))
                return

            x -= 1
        
    sender.sendMessage(''.join(["You successfully claimed plot ", str(x), ", ", str(z)]))
Exemplo n.º 27
0
 def crete_manager(self):
     data = {
         "ManagerName": "superadmin",
         "ManagerPsd": "b9d9b8ddd5e59bc8cac074a2272dfb28"
     }
     obj = Manager.Manager(**data)
     session.add(obj)
     session.commit()
Exemplo n.º 28
0
 def __init__(self):
     self.manager = Manager.Manager()
     self.downloader = html_downloader.Downloader()
     self.saver = html_saver.Saver()
     self.parser = html_parser.Parser(self.manager)
     self.manager.add_one_url("https://book.douban.com/")
     #self.manager.add_one_url("https://www.baidu.com/")
     self.limits = 100
Exemplo n.º 29
0
    def check_status(self):
        if len(self.__host) == 0:
            print('No device host address set')
            return False

        self.__updating = True
        self.updatingChanged.emit()

        Manager.Manager().find_device_state(self)
Exemplo n.º 30
0
    def updateCheckOut(self):
        """Update the checkOut scroller."""
        # rsvManager = Manager.ReservationManager(self, self.mainW.cursor)
        # rsvManager.getActiveRsvs()
        # rsvManager.getFinishedRsvs()
        manager = Manager.CheckOutManager(self, self.mainW.cursor)
        checkOuts = manager.getToday()

        self.checkOut.getList().addItems([3, checkOuts])
Exemplo n.º 31
0
def get_condition_list(request):
    user = request.user
    condition_list = Manager.getConditionList(user)
    data = {}
    data['condition_list'] = []
    for condition in condition_list:
        data['condition_list'].append(condition.name)
    json_data = json.dumps(data)
    return HttpResponse(json_data, content_type='application/json')
Exemplo n.º 32
0
def get_scenario_list(request):
    user = request.user
    scenario_list = Manager.getScenarioList(user)
    data = {}
    data['scenario_list'] = []
    for scenario in scenario_list:
        data['scenario_list'].append(scenario.name)
    json_data = json.dumps(data)
    return HttpResponse(json_data, content_type='application/json')
Exemplo n.º 33
0
def handleMetadata(directoryPath, audioFilePaths):
    """Create and run a ReleaseManager object."""

    releaseManager = Manager.ReleaseManager(directoryPath, audioFilePaths)
    try:
        releaseManager.run()
    except Manager.ReleaseManagerError, e:
        log("\nCould not identify and tag audio.")
        log(str(e))
        functions.rejectItem(directoryPath)
Exemplo n.º 34
0
def unset_ssd_role_constraint(request):
    print 'unset_ssd_role_constraint'

    user = request.user
    role = request.POST.get('role', None)
    mutlexcl = request.POST.get('mutlexcl', None)

    print 'role is ', role
    print 'mutlexcl is ', mutlexcl

    #delete the mutual exclusion constraint from both roles
    Manager.unsetSSDRoleConstraint(role, mutlexcl, user)
    Manager.unsetSSDRoleConstraint(mutlexcl, role, user)

    data = {}
    data['success'] = str(True).lower()

    json_data = json.dumps(data)
    return HttpResponse(json_data, content_type='application/json')
Exemplo n.º 35
0
def sync():
    parser = argparse.ArgumentParser(
        description="synchronize Docker containers")

    parser.add_argument(
        "-n",
        "--no-pull",
        dest="pull",
        action="store_false",
        help="don't pull images",
    )

    parser.add_argument(
        "-i",
        "--allow-insecure-url",
        dest="insecure_registry",
        action="store_true",
        help="allow pulling from non-ssl repositories",
    )

    parser.add_argument(
        "-s",
        "--remove-delay",
        dest="remove_delay",
        default=None,
        type=int,
        help="delay between stopping container and removing",
    )

    parser.add_argument(
        "config_dir",
        help="directory containing yaml config files",
    )

    parsed_args = parser.parse_args()

    Manager.main(
        parsed_args.config_dir,
        pull=parsed_args.pull,
        insecure_registry=parsed_args.insecure_registry,
        remove_delay=parsed_args.remove_delay,
    )
Exemplo n.º 36
0
def onCommandInfo(sender, args):
    if not sender.hasPermission("plotmanager.info"):
        sender.sendMessage("You don't have enough permissions to execute this command")
        return

    if len(args) == 1:
        x = Manager.getPlotX(sender.getLocation().getX())
        z = Manager.getPlotZ(sender.getLocation().getZ())

    elif len(args) == 3:
        x = int(args[1])
        z = int(args[2])

    else:
        sender.sendMessage("Usage: /plot info [x] [z]")
        return

    if Manager.isOutOfRange(x, z):
        sender.sendMessage(''.join(["Plot ", str(x), ", ", str(z), " is out of range"]))
        return

    plot = Manager.getPlot(x, z)

    sender.sendMessage(''.join(["--- Plot ", str(x), ", ", str(z), " ---"]))

    if plot.status == Manager.PlotStatus.FREE:
        sender.sendMessage("Status: Free")

    elif plot.status == Manager.PlotStatus.CLAIMED:
        sender.sendMessage(''.join(["Status: Claimed by ", plot.owner]))
        sender.sendMessage(''.join(["Claimed at: ", plot.date]))

    elif plot.status == Manager.PlotStatus.TEMP:
        sender.sendMessage(''.join(["Status: Temporarily claimed by ", plot.owner]))
        sender.sendMessage(''.join(["Claimed at: ", plot.date]))

    elif plot.status == Manager.PlotStatus.RESERVED:
        sender.sendMessage("Status: Reserved")

    elif plot.status == Manager.PlotStatus.SPECIAL:
        sender.sendMessage(''.join(["Status: ", plot.description]))
Exemplo n.º 37
0
def onCommandUnclaim(sender, args):
    if len(args) == 1:
        x = Manager.getPlotX(sender.getLocation().getX())
        z = Manager.getPlotZ(sender.getLocation().getZ())

    elif len(args) == 3:
        x = int(args[1])
        z = int(args[2])
        
    else:
        sender.sendMessage("Usage: /plot unclaim [x] [z]")
        return 

    if Manager.isOutOfRange(x, z):
        sender.sendMessage(''.join(["Plot ", str(x), ", ", str(z), " is out of range"]))
        return

    if Manager.unclaim(sender.getName(), x, z):
        sender.sendMessage(''.join(["You successfully unclaimed plot ", str(x), ", ", str(z)]))
    else:
        sender.sendMessage(''.join(["Failed to unclaim plot ", str(x), ", ", str(z), ". Make sure that you are the owner of this plot"]))
Exemplo n.º 38
0
def onCommandTp(sender, args):
    if not sender.hasPermission("plotmanager.tp"):
        sender.sendMessage("You don't have enough permissions to execute this command")
        return

    if len(args) == 3:
        x = Manager.getCentreX(int(args[1]))
        z = Manager.getCentreZ(int(args[2]))

        if Manager.isOutOfRange(int(args[1]), int(args[2])):
            sender.sendMessage(''.join(["Plot ", args[1], ", ", args[2], " is out of range"]))
            return

    elif len(args) == 2:
        name = str(args[1])

        exists = False

        for pos, plot in Manager.plots.iteritems():
            if plot.status == Manager.PlotStatus.CLAIMED and plot.owner == name:
                x = Manager.getCentreX(pos[0])
                z = Manager.getCentreZ(pos[1])

                exists = True

        if not exists:
            sender.sendMessage(''.join(["Can't find player ", name]))
            return True

    else:
        sender.sendMessage("Usage: /plot tp <x> <z> OR <name>")
        return


    loc = sender.getLocation()

    loc.setX(x)
    loc.setZ(z)

    sender.teleport(loc)
Exemplo n.º 39
0
def sync():
    parser = argparse.ArgumentParser(description="synchronize Docker containers")
    
    parser.add_argument(
        "-n", "--no-pull",
        dest="pull",
        action="store_false",
        help="don't pull images",
    )
    
    parser.add_argument(
        "-i", "--allow-insecure-url",
        dest="insecure_registry",
        action="store_true", 
        help="allow pulling from non-ssl repositories",
    )
    
    parser.add_argument(
        "-s", "--remove-delay",
        dest="remove_delay",
        default=None,
        type=int,
        help="delay between stopping container and removing",
    )
    
    parser.add_argument(
        "config_dir",
        help="directory containing yaml config files",
    )
    
    parsed_args = parser.parse_args()
    
    Manager.main(
        parsed_args.config_dir,
        pull=parsed_args.pull,
        insecure_registry=parsed_args.insecure_registry,
        remove_delay=parsed_args.remove_delay,
    )
Exemplo n.º 40
0
def onCommandForceUnclaim(sender, args):
    if not sender.hasPermission("plotmanager.admin"):
        sender.sendMessage("You don't have enough permissions to execute this command")
        return

    if len(args) == 1:
        x = Manager.getPlotX(sender.getLocation().getX())
        z = Manager.getPlotZ(sender.getLocation().getZ())

    elif len(args) == 3 and args[1].isdigit() and args[2].isdigit():
        x = int(args[1])
        z = int(args[2])
        
    else:
        sender.sendMessage("Usage: /plot forceUnclaim [x] [z]")
        return

    if Manager.isOutOfRange(x, z):
        sender.sendMessage(''.join(["Plot ", str(x), ", ", str(z), " is out of range"]))
        return

    Manager.forceUnclaim(x, z)

    sender.sendMessage(''.join(["Forcefully unclaimed plot ", str(x), ", ", str(z)]))
Exemplo n.º 41
0
def onCommandGive(sender, args):
    if not sender.hasPermission("plotmanager.give"):
        sender.sendMessage("You don't have enough permissions to execute this command")
        return

    if len(args) != 3 or not args[2].isdigit():
        sender.sendMessage("Usage: /plot give <name> <number>")
        return

    if args[1] not in Manager.players:
        sender.sendMessage(''.join(["Can't find player ", sender.getName()]))

        return True

    player = Manager.getPlayer(args[1])

    player.numPlots += int(args[2])

    sender.sendMessage(''.join(["Player ", args[1], " can now claim up to ", str(player.numPlots), " additional plots"]))
Exemplo n.º 42
0
def onDisable():
    Manager.save(directory)
Exemplo n.º 43
0
def onEnable():
    Manager.load(directory)
    PhysicalMap.world = getWorlds()[0]
Exemplo n.º 44
0
    def test_containerIsOutOfSync_hosts(self):
        container_def = ContainerDefinition.parseFile(os.path.join(self.EXAMPLE_DIR, "00-hosts.yaml"))

        ## blalor/docker-hosts:latest
        img_info = Image.fromJson({
            "Size": 0,
            "Os": "linux",
            "Architecture": "amd64",
            "Id": "98e7ca605530c6ee637e175f08e692149a4d019b384e421e661bd35601b25975",
            "Parent": "15e3a43eb69d67df5a6ae1f3b3e87407f3b82157bf54fe8a5dc997cf2ce6528a",
            "Created": "2014-07-30T01:02:04.516066768Z",
            "Container": "5d7384258a7ac29d8eabe30b6b1d83dfe4a8925440f33982b439731906a087f2",
            "Docker_version": "1.1.1",
            "Author": "Brian Lalor <*****@*****.**>",
            "Config": {
                "OnBuild": [],
                "NetworkDisabled": False,
                "Entrypoint": [
                    "/usr/local/bin/docker-hosts"
                ],
                "WorkingDir": "",
                "Volumes": None,
                "Image": "15e3a43eb69d67df5a6ae1f3b3e87407f3b82157bf54fe8a5dc997cf2ce6528a",
                "Cmd": None,
                "AttachStdin": False,
                "Cpuset": "",
                "CpuShares": 0,
                "MemorySwap": 0,
                "Memory": 0,
                "User": "",
                "Domainname": "",
                "Hostname": "5ca9d941ba62",
                "AttachStdout": False,
                "AttachStderr": False,
                "PortSpecs": None,
                "ExposedPorts": None,
                "Tty": False,
                "OpenStdin": False,
                "StdinOnce": False,
                "Env": [
                    "HOME=/",
                    "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
                ]
            }
        })

        container_info = Container.fromJson("hosts", {
            "HostConfig": {
                "NetworkMode": "",
                "VolumesFrom": None,
                "DnsSearch": None,
                "Binds": [
                    "/var/run/docker.sock:/var/run/docker.sock:rw",
                    "/var/lib/docker/hosts:/srv/hosts:rw"
                ],
                "ContainerIDFile": "",
                "LxcConf": None,
                "Privileged": False,
                "PortBindings": None,
                "Links": None,
                "PublishAllPorts": False,
                "Dns": None
            },
            "VolumesRW": {
                "/var/run/docker.sock": True,
                "/srv/hosts": True
            },
            "Volumes": {
                "/var/run/docker.sock": "/var/run/docker.sock",
                "/srv/hosts": "/var/lib/docker/hosts"
            },
            "NetworkSettings": {
                "Ports": {},
                "PortMapping": None,
                "Bridge": "docker0",
                "Gateway": "172.17.42.1",
                "IPPrefixLen": 16,
                "IPAddress": "172.17.0.17"
            },
            "Image": "98e7ca605530c6ee637e175f08e692149a4d019b384e421e661bd35601b25975",
            "State": {
                "FinishedAt": "0001-01-01T00:00:00Z",
                "StartedAt": "2014-10-28T18:22:51.492441086Z",
                "ExitCode": 0,
                "Pid": 27669,
                "Paused": False,
                "Running": True
            },
            "Config": {
                "OnBuild": None,
                "NetworkDisabled": False,
                "Entrypoint": [
                    "/usr/local/bin/docker-hosts"
                ],
                "WorkingDir": "",
                "Volumes": {
                    "/var/run/docker.sock": {},
                    "/srv/hosts": {}
                },
                "Image": "blalor/docker-hosts:latest",
                "Cmd": [
                    "--domain-name=dev.docker",
                    "/srv/hosts"
                ],
                "AttachStdin": False,
                "Cpuset": "",
                "CpuShares": 0,
                "MemorySwap": 0,
                "Memory": 0,
                "User": "",
                "Domainname": "",
                "Hostname": "04bf6ca07d2c",
                "AttachStdout": False,
                "AttachStderr": False,
                "PortSpecs": None,
                "ExposedPorts": None,
                "Tty": False,
                "OpenStdin": False,
                "StdinOnce": False,
                "Env": [
                    "HOME=/",
                    "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
                ]
            },
            "Args": [
                "--domain-name=dev.docker",
                "/srv/hosts"
            ],
            "Path": "/usr/local/bin/docker-hosts",
            "Created": "2014-10-28T18:22:51.142918682Z",
            "Id": "04bf6ca07d2c610235f57b041e224c19b6fab51d400a599ee0f1b1c53e12201f",
            "ResolvConfPath": "/etc/resolv.conf",
            "HostnamePath": "/var/lib/docker/containers/04bf6ca07d2c610235f57b041e224c19b6fab51d400a599ee0f1b1c53e12201f/hostname",
            "HostsPath": "/var/lib/docker/containers/04bf6ca07d2c610235f57b041e224c19b6fab51d400a599ee0f1b1c53e12201f/hosts",
            "Name": "/hosts",
            "Driver": "devicemapper",
            "ExecDriver": "native-0.2",
            "MountLabel": "",
            "ProcessLabel": ""
        })

        eq_(Manager.containerIsOutOfSync(container_def, container_info, img_info), False)
Exemplo n.º 45
0
    def test_containerIsOutOfSync(self):
        container_def = ContainerDefinition.parseFile(os.path.join(self.EXAMPLE_DIR, "00-private-registry.yaml"))

        img_info = Image.fromJson({
            "Id": "2e2d7133e4a578bd861e85e7195412201f765d050af78c7906841ea62eb6f7dd",
            "Parent": "c79dab5561020bda9ce1b1cbe76283fc95f824cfb26a8a21a384993ed7f392bd",
            "Created": "2014-10-21T08:50:44.448455269Z",
            "Container": "b756100785c797b9f43d36f249b0d5688d88a1ca68df56d915cb436c4bfc7286",
            "Config": {
                "OnBuild": [],
                "NetworkDisabled": False,
                "Entrypoint": None,
                "WorkingDir": "",
                "Volumes": None,
                "Image": "c79dab5561020bda9ce1b1cbe76283fc95f824cfb26a8a21a384993ed7f392bd",
                "Cmd": [
                    "/bin/sh",
                    "-c",
                    "exec docker-registry"
                ],
                "AttachStdin": False,
                "Cpuset": "",
                "CpuShares": 0,
                "MemorySwap": 0,
                "Memory": 0,
                "User": "",
                "Domainname": "",
                "Hostname": "965c252e48c3",
                "AttachStdout": False,
                "AttachStderr": False,
                "PortSpecs": None,
                "ExposedPorts": {
                    "5000/tcp": {}
                },
                "Tty": False,
                "OpenStdin": False,
                "StdinOnce": False,
                "Env": [
                    "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
                    "DOCKER_REGISTRY_CONFIG=/docker-registry/config/config_sample.yml",
                    "SETTINGS_FLAVOR=dev"
                ]
            },
        })

        container_info = Container.fromJson("private-registry", {
            "HostConfig": {
                "NetworkMode": "",
                "VolumesFrom": None,
                "DnsSearch": None,
                "Binds": [
                    "/tmp:/var/lib/docker/registry",
                ],
                "ContainerIDFile": "",
                "LxcConf": None,
                "Privileged": False,
                "PortBindings": {
                    "5000/tcp": [
                        {
                            "HostPort": "11003",
                            "HostIp": "0.0.0.0"
                        }
                    ]
                },
                "Links": None,
                "PublishAllPorts": False,
                "Dns": None
            },
            "VolumesRW": {
                "/var/lib/docker/registry": True,
            },
            "Volumes": {
                "/var/lib/docker/registry": "/tmp",
            },
            "NetworkSettings": {
                "Ports": {
                    "5000/tcp": [
                        {
                            "HostPort": "11003",
                            "HostIp": "0.0.0.0"
                        }
                    ]
                },
                "PortMapping": None,
                "Bridge": "docker0",
                "Gateway": "172.17.42.1",
                "IPPrefixLen": 16,
                "IPAddress": "172.17.0.31"
            },
            "Image": "2e2d7133e4a578bd861e85e7195412201f765d050af78c7906841ea62eb6f7dd",
            "State": {
                "FinishedAt": "0001-01-01T00:00:00Z",
                "StartedAt": "2014-10-28T16:38:31.491949274Z",
                "ExitCode": 0,
                "Pid": 18785,
                "Paused": False,
                "Running": True
            },
            "Config": {
                "OnBuild": None,
                "NetworkDisabled": False,
                "Entrypoint": None,
                "WorkingDir": "",
                "Volumes": {
                    "/var/lib/docker/registry": {},
                },
                "Image": "registry:0.8.1",
                "Cmd": [
                    "/bin/sh",
                    "-c",
                    "exec docker-registry"
                ],
                "AttachStdin": False,
                "Cpuset": "",
                "CpuShares": 0,
                "MemorySwap": 0,
                "Memory": 0,
                "User": "",
                "Domainname": "",
                "Hostname": "private-registry",
                "AttachStdout": False,
                "AttachStderr": False,
                "PortSpecs": None,
                "ExposedPorts": {
                    "5000/tcp": {}
                },
                "Tty": False,
                "OpenStdin": False,
                "StdinOnce": False,
                "Env": [
                    "SETTINGS_FLAVOR=local",
                    "STORAGE_PATH=/var/lib/docker/registry",
                    "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
                    "DOCKER_REGISTRY_CONFIG=/docker-registry/config/config_sample.yml"
                ]
            },
            "Args": [
                "-c",
                "exec docker-registry"
            ],
            "Path": "/bin/sh",
            "Created": "2014-10-28T16:38:31.20825271Z",
            "Id": "758a155a0374fa7e163e4fc71e96cd1bd7de37674dd5f552b9183789366e91f7",
            "ResolvConfPath": "/etc/resolv.conf",
            "HostnamePath": "/var/lib/docker/containers/758a155a0374fa7e163e4fc71e96cd1bd7de37674dd5f552b9183789366e91f7/hostname",
            "HostsPath": "/var/lib/docker/containers/758a155a0374fa7e163e4fc71e96cd1bd7de37674dd5f552b9183789366e91f7/hosts",
            "Name": "/private-registry",
            "Driver": "devicemapper",
            "ExecDriver": "native-0.2",
            "MountLabel": "",
            "ProcessLabel": ""
        })

        eq_(Manager.containerIsOutOfSync(container_def, container_info, img_info), False)
Exemplo n.º 46
0
def onCommandPlotmap(sender, args):
    if len(args) == 0:
        showHelp(sender)

        return True

    cmd = args[0]

    plotCoords = getPlotCoords(int(sender.getLocation().getX()), int(sender.getLocation().getZ()))

    if Manager.isOutOfRange(plotCoords[0], plotCoords[1]):
        sender.sendMessage("Out of range")

        return True

    if cmd == "claim":
        if Manager.claim(sender.getName(), plotCoords[0], plotCoords[1]):
            sender.sendMessage(''.join(["You successfully claimed plot ", str(plotCoords[0]), ", ", str(plotCoords[1])]))
        else:
            sender.sendMessage(''.join(["Failed to unclaim plot ", str(plotCoords[0]), ", ", str(plotCoords[1]), ". Make sure that this is a free plot and that you are allowed to claim plots"]))

        return True

    elif cmd == "unclaim":
        if Manager.unclaim(sender.getName(), plotCoords[0], plotCoords[1]):
            sender.sendMessage(''.join(["You successfully unclaimed plot ", str(plotCoords[0]), ", ", str(plotCoords[1])]))
        else:
            sender.sendMessage(''.join(["Failed to unclaim plot ", str(plotCoords[0]), ", ", str(plotCoords[1]), ". Make sure that you are the owner of this plot"]))

        return True

    elif cmd == "info":
        plot = Manager.getPlot(plotCoords[0], plotCoords[1])

        sender.sendMessage(''.join(["--- Plot ", str(plotCoords[0]), ", ", str(plotCoords[1]), " ---"]))

        if plot.status == Manager.PlotStatus.FREE:
            sender.sendMessage("Status: Free")

        elif plot.status == Manager.PlotStatus.CLAIMED:
            sender.sendMessage(''.join(["Status: Claimed by ", plot.owner]))
            sender.sendMessage(''.join(["Claimed at: ", plot.date]))

        elif plot.status == Manager.PlotStatus.TEMP:
            sender.sendMessage(''.join(["Status: Temporarily claimed by ", plot.owner]))
            sender.sendMessage(''.join(["Claimed at: ", plot.date]))

        elif plot.status == Manager.PlotStatus.RESERVED:
            sender.sendMessage("Status: Reserved")

        elif plot.status == Manager.PlotStatus.SPECIAL:
            sender.sendMessage(''.join(["Status: ", plot.description]))

        return True

    elif cmd == "tp":
        loc = sender.getLocation()

        x = Manager.getCentreX(plotCoords[0])
        z = Manager.getCentreZ(plotCoords[1])

        loc.setX(x)
        loc.setZ(z)

        sender.teleport(loc)

        return True

    elif cmd == "generate":
        if not sender.hasPermission("plotmanager.generate"):
            sender.sendMessage("You don't have enough permissions to execute this command")
            return True

        for x in xrange(-Manager.radius, Manager.radius):
            for z in xrange(-Manager.radius, Manager.radius):
                unclaim(x, z)

        return True

    elif cmd == "update":
        if not sender.hasPermission("plotmanager.generate"):
            sender.sendMessage("You don't have enough permissions to execute this command")
            return True

        for pos, plot in Manager.plots.iteritems():
            position = getMapCoords(pos[0], pos[1])

            if plot.status == Manager.PlotStatus.FREE:
                unclaim(pos[0], pos[1])
            else:
                claim(pos[0], pos[1])

    elif cmd == "reserve":
        if not sender.hasPermission("plotmanager.reserve"):
            sender.sendMessage("You don't have enough permissions to execute this command")
            return True

        if Manager.reserve(plotCoords[0], plotCoords[1]):
            sender.sendMessage(''.join(["You successfully reserved plot ", str(plotCoords[0]), ", ", str(plotCoords[1])]))
        else:
            sender.sendMessage(''.join(["Failed to reserve plot ", str(plotCoords[0]), ", ", str(plotCoords[1]), ". Make sure that this is a free plot"]))

        return True

    elif cmd == "special":
        if not sender.hasPermission("plotmanager.reserve"):
            sender.sendMessage("You don't have enough permissions to execute this command")
            return True

        del args[0]

        if Manager.special(plotCoords[0], plotCoords[1], ' '.join(args)):
            sender.sendMessage(''.join(["You successfully reserved plot ", str(plotCoords[0]), ", ", str(plotCoords[1])]))
        else:
            sender.sendMessage(''.join(["Failed to reserve plot ", str(plotCoords[0]), ", ", str(plotCoords[1]), ". Make sure that this is a free plot"]))

        return True

    elif cmd == "forceUnclaim":
        if not sender.hasPermission("plotmanager.admin"):
            sender.sendMessage("You don't have enough permissions to execute this command")
            return True

        Manager.forceUnclaim(plotCoords[0], plotCoords[1])

        return True

    return True