Exemplo n.º 1
0
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)
Exemplo n.º 2
0
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.")
Exemplo n.º 3
0
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.")
Exemplo n.º 4
0
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?')
Exemplo n.º 5
0
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.")
Exemplo n.º 6
0
 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
Exemplo n.º 7
0
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
Exemplo n.º 8
0
    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
Exemplo n.º 9
0
 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 )
Exemplo n.º 10
0
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
Exemplo n.º 11
0
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'
Exemplo n.º 12
0
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'
Exemplo n.º 13
0
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)
Exemplo n.º 14
0
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)
Exemplo n.º 15
0
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.")
Exemplo n.º 16
0
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)
Exemplo n.º 17
0
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()
Exemplo n.º 18
0
    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
Exemplo n.º 19
0
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?')
Exemplo n.º 20
0
def height_aver():
  height_list = utils.user_input('Enter a height: ')
  return sum(height_list) / len(height_list)
Exemplo n.º 21
0
    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"
Exemplo n.º 22
0
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)
Exemplo n.º 23
0
# 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")