def create_user(admin=False, password=True): full_name = os.environ.get('FAME_ROOT_USER', None) or user_input("Full Name") email = os.environ.get('FAME_ROOT_USER', None) or user_input("Email Address") groups = os.environ.get('FAME_ROOT_USER_GROUPS', None) or user_input( "Groups (comma-separated)", "cert") groups = groups.split(',') if admin: default_sharing = groups groups.append('*') permissions = ['*'] else: default_sharing = user_input( "Default Sharing Groups (comma-separated)").split(',') permissions = user_input("Permissions (comma-separated)").split(',') password = os.environ.get('FAME_ROOT_PASS', None) or get_new_password() # if password: # password = get_new_password() # else: # password = None do_create_user(full_name, email, groups, default_sharing, permissions, password)
def define_mongo_connection(context): from pymongo import MongoClient context['mongo_host'] = os.environ.get('MONGODB_HOST', None) or user_input( "MongoDB host", "localhost") context['mongo_port'] = int(os.environ.get( 'MONGODB_PORT', None)) or user_input("MongoDB port", "27017") context['mongo_db'] = os.environ.get( 'MONGODB_DATABASE', None) or user_input("MongoDB database", "fame") mongo = MongoClient(context['mongo_host'], context['mongo_port'], serverSelectionTimeoutMS=10000) mongo.server_info() db = mongo[context['mongo_db']] context['mongo_user'] = '' context['mongo_password'] = '' if not test_mongodb_connection(db): context['mongo_user'] = os.environ.get( 'MONGODB_FAME_USER', None) or user_input("MongoDB username") context['mongo_password'] = os.environ.get( 'MONGODB_FAME_PASS', None) or user_input("MongoDB password") try: db.authenticate(context['mongo_user'], quote_plus(context['mongo_password'])) except: error("Could not connect to MongoDB (invalid credentials).") if not test_mongodb_connection(db): error("MongDB user has insufficient privileges.")
def define_mongo_connection(context): from pymongo import MongoClient context['mongo_host'] = user_input("MongoDB host", "localhost") context['mongo_port'] = int(user_input("MongoDB port", "27017")) context['mongo_db'] = user_input("MongoDB database", "fame") try: mongo = MongoClient(context['mongo_host'], context['mongo_port'], serverSelectionTimeoutMS=10000) mongo.server_info() db = mongo[context['mongo_db']] except Exception as e: print(e) error("Could not connect to MongoDB.") context['mongo_user'] = '' context['mongo_password'] = '' if not test_mongodb_connection(db): context['mongo_user'] = user_input("MongoDB username") context['mongo_password'] = user_input("MongoDB password") try: db.authenticate(context['mongo_user'], quote_plus(context['mongo_password'])) except: error("Could not connect to MongoDB (invalid credentials).") if not test_mongodb_connection(db): error("MongDB user has insufficient privileges.")
def simulate_splines(diagram, diagram_context, sim_duration, real_time_rate=1.0): simulator = Simulator(diagram, diagram_context) simulator.set_publish_every_time_step(False) simulator.set_target_realtime_rate(real_time_rate) simulator.Initialize() diagram.Publish(diagram_context) user_input('Simulate?') simulator.StepTo(sim_duration) user_input('Finish?')
def define_mongo_connection(context): from pymongo import MongoClient context['mongo_host'] = user_input("MongoDB host", "localhost") context['mongo_port'] = int(user_input("MongoDB port", "27017")) context['mongo_db'] = user_input("MongoDB database", "fame") try: mongo = MongoClient(context['mongo_host'], context['mongo_port'], serverSelectionTimeoutMS=10000) mongo.server_info() db = mongo[context['mongo_db']] except Exception, e: print e error("Could not connect to MongoDB.")
def get_feminine(self, word): if Settings.NO_PRIBERAM or not self.priberam.is_feminine( word ): try: return Feminine.get( word ) except MultipleOptions as e: return e.ask_priberam( self.priberam ) or user_input( e.options ) return word
def palindrome_sentences(): sentences_list = utils.user_input('Enter a sentence: ', False) palindrome_list = [] for sentence in sentences_list: if sentence==sentence[::-1]: palindrome_list.append(sentence) return palindrome_list
def get_value_from_user(self, setting, prefix=None): if prefix: name = "{}.{}".format(prefix, setting['name']) else: name = setting['name'] prompt = "{} ({})".format(name, setting['description']) if 'default' in setting: value = user_input(prompt, setting['default']) else: value = user_input(prompt) if setting['type'] == 'integer': value = int(value) elif setting['type'] == 'bool': value = bool(value) return value
def get_plural(self, word): try: if Settings.NO_PRIBERAM: return Plural.get( word ) try: return self.priberam.get_plural( word ) except (WordNotRecognized, WordUnknown, PluralUnknown, PluralNotFound): return Plural.get( word ) except MultipleOptions as e: return e.ask_priberam( self.priberam ) or user_input( e.options )
def count_of_negative_and_positive_numbers(): values_list = utils.user_input('Enter a value: ') total_values = dict( negative=0, positive=0 ) for value in values_list: if value <= 0: total_values['negative'] = total_values['negative'] + 1 if value > 0: total_values['positive'] = total_values['positive'] + 1 return total_values
def define_installation_type(context): print "\nChoose your installation type:\n" print " - 1: Web server + local worker" print " - 2: Remote worker\n" itype = user_input("Installation type", "1", ["1", "2"]) if itype == "1": context['installation_type'] = 'local' else: context['installation_type'] = 'remote'
def define_installation_type(context): print "\nChoose your installation type:\n" print " - 1: Web server + local worker" print " - 2: Remote worker\n" itype = os.environ.get('FAME_INSTALL_TYPE', None) or user_input( "Installation type", "1", ["1", "2"]) if itype == "1": context['installation_type'] = 'local' else: context['installation_type'] = 'remote'
def create_user(admin=False, password=True): full_name = user_input("Full Name") email = user_input("Email Address") groups = user_input("Groups (comma-separated)", "cert").split(',') if admin: default_sharing = groups groups.append('*') permissions = ['*'] else: default_sharing = user_input( "Default Sharing Groups (comma-separated)").split(',') permissions = user_input("Permissions (comma-separated)").split(',') if password: password = get_new_password() else: password = None do_create_user(full_name, email, groups, default_sharing, permissions, password)
def interactive_create_project(): name = utils.user_input('Project name: ').strip() if len(name) == 0: utils.error('Project name is required') path = os.path.join(os.getcwd(), name) if os.path.exists(path): utils.error('Path already exists') create_project(name) password = getpass.getpass('Vault password: '******'Vault password is required') set_vault_password(name, password)
def get_fame_url(context): import requests context['fame_url'] = user_input("FAME's URL for worker") url = urljoin(context['fame_url'], '/modules/download') try: response = requests.get(url, stream=True, headers={'X-API-KEY': context['api_key']}) response.raise_for_status() except Exception, e: print e error("Could not connect to FAME.")
def create_user(admin=False, password=True): full_name = os.getenv("FAME_ADMIN_FULLNAME", "") if not full_name: full_name = user_input("Full Name") email = os.getenv("FAME_ADMIN_EMAIL", "") if not email: email = user_input("Email Address") groups = os.getenv("FAME_ADMIN_GROUPS", "") if not groups: groups = user_input("Groups (comma-separated)", "cert") groups = groups.split(",") if admin: default_sharing = groups groups.append('*') permissions = ['*'] else: default_sharing = os.getenv("FAME_ADMIN_DEFAULT_SHARING", "") if not default_sharing: default_sharing = user_input( "Default Sharing Groups (comma-separated)") default_sharing = default_sharing.split(",") permissions = os.getenv("FAME_ADMIN_PERMISSIONS", "") if not permissions: permissions = user_input("Permissions (comma-separated)") permissions = permissions.split(",") if password: password = os.getenv("FAME_ADMIN_PASSWORD", "") if not password: password = get_new_password() else: password = None do_create_user(full_name, email, groups, default_sharing, permissions, password)
def perform_local_installation(context): templates = Templates() context['fame_url'] = user_input("FAME's URL for users (e.g. https://fame.yourdomain/)") print "[+] Creating configuration file ..." context['secret_key'] = os.urandom(64).encode('hex') templates.save_to(os.path.join(FAME_ROOT, 'conf', 'fame.conf'), 'local_fame.conf', context) generate_ssh_key() from fame.core import fame_init fame_init() print "[+] Creating initial data ..." from utils.initial_data import create_initial_data create_initial_data() create_admin_user() add_community_repository()
def play(self, board): board.display() if len(board.executed_moves) > 0: print("last_move:", board.executed_moves[-1]) valid = self.game.getValidMoves(board, 1) for i in range(len(valid)): if valid[i]: print(Move.parse_action(i), end=", ") print("") while True: a = user_input(">>") try: move = Move.parse(a, board) except Exception as e: print(e) continue a = move.move_id if valid[a]: break else: print('Invalid') return a
def step_trajectories(diagram, diagram_context, plant_context, trajectories, time_step=0.001, teleport=False): diagram.Publish(diagram_context) user_input('Step?') for traj in trajectories: if teleport: traj.path = traj.path[::len(traj.path) - 1] for _ in traj.iterate(plant_context): diagram.Publish(diagram_context) if time_step is None: user_input('Continue?') else: time.sleep(time_step) user_input('Finish?')
def height_aver(): height_list = utils.user_input('Enter a height: ') return sum(height_list) / len(height_list)
context['mongo_host'] = user_input("MongoDB host", "localhost") context['mongo_port'] = int(user_input("MongoDB port", "27017")) context['mongo_db'] = user_input("MongoDB database", "fame") try: mongo = MongoClient(context['mongo_host'], context['mongo_port'], serverSelectionTimeoutMS=10000) mongo.server_info() db = mongo[context['mongo_db']] except Exception, e: print e error("Could not connect to MongoDB.") context['mongo_user'] = '' context['mongo_password'] = '' if not test_mongodb_connection(db): context['mongo_user'] = user_input("MongoDB username") context['mongo_password'] = user_input("MongoDB password") try: db.authenticate(context['mongo_user'], quote_plus(context['mongo_password'])) except: error("Could not connect to MongoDB (invalid credentials).") if not test_mongodb_connection(db): error("MongDB user has insufficient privileges.") def define_installation_type(context): print "\nChoose your installation type:\n" print " - 1: Web server + local worker" print " - 2: Remote worker\n"
def ages_aver_without_18(): ages_list = utils.user_input('Enter an age: ') list_without_18 = utils.delete_from_list(ages_list,[18]) return sum(list_without_18) / len(list_without_18)
# with the device. # Note that pyserial is needed to use the library. # See utils.py for more details about this and how to use the functions. from utils import establish_connection, readln, writeln, user_input from time import sleep # Establish a connection # Edit name of device v v v serial_device = establish_connection(device="COM15") sleep(0.5) # Reset the device to start from the beginning writeln(serial_device, 'reset') # Read and print until no further input while True: line = readln(serial_device) if not line: break # Write one line of user input to device writeln(serial_device, user_input()) # Read and print until no further input while True: line = readln(serial_device) if not line: break print("Done")