def do_connect(): sta_if = network.WLAN(network.STA_IF) if not sta_if.isconnected(): print('connecting to network...') sta_if.active(True) sta_if.connect(env.get('wifi_ssid'), env.get('wifi_password')) while not sta_if.isconnected(): pass print('network config:', sta_if.ifconfig())
def search(**kwargs): parms = dict() # for key, value in kwargs.items(): for arg in kwargs: if arg is not 'env' and arg is not 'url' and arg is not 'token': parms[arg] = kwargs[arg] if kwargs is None or 'env' not in kwargs: resp = env.get('/api/issues/search', parms) else: resp = kwargs['env'].get('/api/issues/search', parms) data = json.loads(resp.text) env.json_dump_debug(data) nbr_issues = data['paging']['total'] page = data['paging']['pageIndex'] nbr_pages = ( (data['paging']['total'] - 1) // data['paging']['pageSize']) + 1 env.debug("Number of issues: ", nbr_issues) env.debug("Page: ", data['paging']['pageIndex'], '/', nbr_pages) all_issues = [] for json_issue in data['issues']: issue = Issue(0) issue.feed(json_issue) issue.set_env(kwargs['env']) all_issues = all_issues + [issue] #print('----issues.ISSUE---------------------------------------------------------------------------------------------------------------------------------') #json.dump(json_issue, sys.stdout, sort_keys=True, indent=3, separators=(',', ': ')) #print(issue.toString) return dict(page=page, pages=nbr_pages, total=nbr_issues, issues=all_issues)
def read(self): parms = dict(issues=self.id, additionalFields='_all') if (self.sonarqube is None): resp = env.get('/api/issues/search', parms) else: resp = self.sonarqube.get('/api/issues/search', parms) self.feed(resp.issues[0])
def send_request(data): token = env.get('DING_TOKEN') url = DINGDING + '?access_token=' + token headers = {'Content-Type': 'application/json'} data = json.dumps(data) res = http.post(url=url, headers=headers, data=data) return res
def show_metric_history(history_days: Text): history_days = int(history_days) metric_names = [cls.__name__ for cls in base.Metric.get_active_metrics()] return flask.render_template('show_metric_history.html', github_repo=env.get('GITHUB_REPO'), metric_names=metric_names, history_days=history_days)
def eval_ast(ast, env): if ast.type == "symbol": return env.get(ast.content) if ast.type == "list": # call eval on all using list comprehension return MalTypes.MalList( [EVAL(element, repl_env) for element in ast.content]) else: return ast
def eval_ast(ast, env): _type = Reader.getType(ast) if _type == "symbol": return env.get(ast) if _type == "list": # call eval on all using list comprehension return [EVAL(element, env) for element in ast] else: return ast
def _get_default_properties(): now = datetime.now() return { 'z': env.int('z', default=DEFAULT_ZOOM), 'start_date': env.get('start_date', default=DEFAULT_START_DATE), 'end_date': env.get('end_date', default=now.strftime("%Y-%m-%d")), 'timestamp': now.strftime("%Y%m%d::%H:%M:%S"), 'width': env.int('width'), 'iterations': env.int('iterations'), 'min_count': env.int('min_count'), 'url': env.get('url', default=None), 'csv_bucket': env.get('csv_bucket', default=None), 'bucket': env.get('bucket', default=None), 'download_folder': env.get('download_folder', default=DEFAULT_DOWNLOAD_FOLDER), 'preprocess_data': env.get('preprocess_data', default=DEFAULT_PREPROCESS_DATA) }
def bootstrap(): defaults_path = os.path.expanduser('~/Library/Preferences/org.ratazzi.ServicesBox.plist') defaults = dict() if os.path.isfile(defaults_path): try: defaults = biplist.readPlist(defaults_path) except (biplist.InvalidPlistException, biplist.NotBinaryPlistException): defaults = plistlib.readPlist(defaults_path) if 'dir_library' in defaults: env.add('dir_library', defaults['dir_library']) else: # development environment env.add('dir_library', os.path.abspath(os.path.join(os.path.dirname(__file__), '..', '..'))) bundles = 'darwin' in sys.platform and 'bundles' or 'bundle' env.add('dir_bundles', os.path.join(env.get('dir_library'), bundles)) env.add('dir_config', os.path.join(env.get('dir_library'), 'etc')) env.add('dir_bin', os.path.join(env.get('dir_library'), 'bin')) env.add('dir_tmp', os.path.join(env.get('dir_library'), 'tmp')) env.add('dir_data', os.path.join(env.get('dir_library'), 'data')) env.add('dir_log', os.path.join(env.get('dir_library'), 'var', 'log')) env.add('dir_run', os.path.join(env.get('dir_library'), 'var', 'run')) # custom data path for item in DEFAULT_DIRS.keys(): key = 'dir_%s' % item if defaults.get(key): env.add(key, defaults[key]) for k, _dir in os.environ.items(): if k.startswith('%sDIR_' % env.PREFIX): if not os.path.exists(_dir): os.makedirs(_dir)
def get_trackables(): endpoint = env.get('api') + '/trackables' objs = get(endpoint) if objs is None: return None return Trackable.from_objs(objs)
def get_health(): endpoint = env.get('api') + '/health' obj = get(endpoint) if obj is None: return Health() return Health.from_obj(obj)
def __init__(self, issue_key, sonarqube): env.debug('Getting changelog for issue key ' + issue_key) parms = dict(format='json', issue=issue_key) if (sonarqube is None): resp = env.get('/api/issues/changelog', parms) else: resp = sonarqube.get('/api/issues/changelog', parms) data = json.loads(resp.text) self.json = data['changelog']
def is_macro_call(ast, env): if ast.my_type == "list": if ast.content[0].my_type == "symbol": symbol = env.get(ast.content[0]) if symbol.my_type == "function": if symbol.is_macro: return True return False
def main(): environment = env.get() running_apps = process.Process.all() names = [ p.command for p in running_apps ] for app in get_managed_apps(): forked = os.fork() if not forked: # child running = True if app in names else False print "Updating NN of", app # update the neronal network associated return
def __init__(self, *args, **kwargs): extra_headers = { 'Authorization': 'token %s' % env.get('CODECOV_API_ACCESS_TOKEN'), 'User-Agent': 'AMPProjectMetrics/1.0.0', 'Content-Type': 'application/json' } props = agithub_base.ConnectionProperties(api_url='codecov.io', url_prefix='/api/gh', secure_http=True, extra_headers=extra_headers) self.setClient(agithub_base.Client(*args, **kwargs)) self.setConnectionProperties(props)
def __init__(self, *args, **kwargs): extra_headers = { 'User-Agent': 'AMPProjectMetrics/1.0.0', 'Content-Type': 'application/json', 'Authorization': 'token %s' % env.get('TRAVIS_API_ACCESS_TOKEN'), 'Travis-API-Version': '3', } props = agithub_base.ConnectionProperties(api_url='api.travis-ci.org', secure_http=True, extra_headers=extra_headers) self.setClient(agithub_base.Client(*args, **kwargs)) self.setConnectionProperties(props)
def process_bundle_dirs(bundle): ENV_DICT = env.all_dict() for _dir in bundle.directories: if _dir.dir is None and _dir.name not in DEFAULT_DIRS.keys(): raise Exception("Invalid default dir: `%s'" % _dir.name) if _dir.dir is None: _dir_name = 'dir_%s' % _dir.name _dst = join(env.get(_dir_name), _dir.bundle) else: _dst = _dir.dir.format(**ENV_DICT) if not os.path.exists(_dst): os.makedirs(_dst)
def post_scrobble(trackable_id): from dtos.input.scrobble_post import ScrobblePost scrobble_post = ScrobblePost() scrobble_post.trackable_id = trackable_id endpoint = env.get('api') + '/scrobbles' obj = post(endpoint, scrobble_post) if obj is None: return None return Scrobble.from_obj(obj)
def get_dependants(self, expr, env): """ Gets all the functions a function needs to run """ depends = [] if isinstance(expr, tokens.function.Function): for j in self.flatten_expression(expr.expr): val = self.env.get(j.value) if j.value not in self.core_keywords.keys( ) and val is not None and val is not expr: if env.get(j.value) is None: depends.append((j.value, val)) depends += self.get_dependants(val, env) return depends
def get_workflow_stats( self, reporting_window=models.CircleCiReportingWindow.LAST_90_DAYS ) -> models.CircleCiWorkflowStats: params = {'reporting-window': reporting_window.value} endpoint = f'{INSIGHTS_API}/workflows{_dict_to_params(params)}' logging.info('Called {endpoint}') headers = { 'authorization': 'Basic %s' % env.get('CIRCLECI_API_ACCESS_TOKEN') } response = requests.get(endpoint, headers=headers) parsed = response.json() if response.status_code != HTTPStatus.OK: raise CircleCiError(response.status_code, parsed['message']) stats = models.CircleCiWorkflowStats.from_json(parsed['items'][0]) return stats
def eval_ast(ast: mytypes.MalType, env): print(env) if isinstance(ast, mytypes.MalSymbol): # try: print(str(type(env)) + "Type") print(str(env) + "value") return env.get(ast) # except: # print("Symbol look up error: {}".format(ast.content)) elif ast.my_type in ["list", "vector"]: ret = mytypes.MalList([]) print(ast.content) for item in ast.content: ret.content.append(EVAL(item, env)) return ret else: return ast
def _replace_vars(s, scope): """Substitutes variable (and constant) names for their respective values. Note that escaped characters are ignored""" expr = r'([\$\*])?(?<!\\)(?:\\\\)*<([^<>\\]+(?<!\\)(?:\\\\)*)>' # matches $<varname> or <varname> m = re.search(expr, s) while m: modifier = m.group(1) start,end = m.span(2) start -= 1 if not modifier is None else 0 + len('<') end += len('>') name = m.group(2) # output name if it's not a valid variable name # escape < and > to prevenet infinite regex loop value = env.get(name, scope, modifier) if env.validate_name(name) else '\<%s\>'%name s = s[:start] + value + s[end:] m = re.search(expr, s) return s
def get_engine() -> sqlalchemy.engine.Engine: return sqlalchemy.create_engine( sqlalchemy.engine.url.URL( drivername=env.get('SQL_DRIVER'), username=env.get('DB_USER'), password=env.get('DB_PASS'), database=env.get('DB_NAME'), query={ 'unix_socket': '%s/%s' % (env.get('CLOUD_SQL_SOCKET'), env.get('CLOUD_SQL_INSTANCE_NAME')), 'charset': 'utf8mb4', }), echo=False)
def get_engine() -> sqlalchemy.engine.Engine: query = { 'charset': 'utf8mb4', } try: query['unix_socket'] = '%s/%s' % (env.get('CLOUD_SQL_SOCKET'), env.get('CLOUD_SQL_INSTANCE_NAME')) except KeyError: logging.info('Using local database') return sqlalchemy.create_engine(sqlalchemy.engine.url.URL( drivername=env.get('SQL_DRIVER'), username=env.get('DB_USER'), password=env.get('DB_PASS'), database=env.get('DB_NAME'), query=query), echo=False)
import os import env as env liste_de_nombres = [1, 2, 3, 7, 8, 9] liste_mixe = ['Pierre', 2, 'Paul', 3.5] listes_imbriques = [1, 2, [3, 4]] var = os.get_exec_path('Program'); var2 = env.get() print(var) # print(var2)
import env from alembic import command from alembic.config import Config from sqlalchemy import create_engine from sqlalchemy.orm import sessionmaker from model import BulkInvoice, Invoice # Use the environment variables to create the engine string username = env.get('MYSQL_USER') password = env.get('MYSQL_PW') address = env.get('MYSQL_SERVER') port = env.get('MYSQL_PORT') name = env.get('MYSQL_DB') engine_string = "mysql+mysqldb://%s:%s@%s:%s/%s?charset=utf8mb4" % ( username, password, address, port, name) engine = create_engine( engine_string, echo=False, convert_unicode=True, # close connections after 1h - as connections timeout at the database pool_recycle=3600) # Create a sessionmaker Session = sessionmaker(bind=engine) # Read the config alembic_cfg = Config('alembic.ini') # Load and return a session to the billy database
def macroexpand(ast, env): while is_macro_call(ast, env): ast = env.get(ast.content[0])(*ast.content[1:]) return ast
def _get_cloud_blob(filename: Text) -> storage.Blob: client = storage.Client() bucket = client.get_bucket(env.get('CLOUD_STORAGE_BUCKET')) return storage.Blob(filename, bucket)
def all_bundles_desc(): return glob.glob('%s/*/bundle.y*ml' % env.get('dir_bundles'))
def show_metrics(): metrics = base.Metric.get_latest().values() return flask.render_template('show_metrics.html', github_repo=env.get('GITHUB_REPO'), metrics=metrics)
#!/usr/bin/env python3 # -*- coding:utf-8 -*- import os import logging import json from utils import * import env cur_path = os.path.join(env.get("game_workspace_path"), "onmyoji") scene_conf = None with open(os.path.join(cur_path, "scenes.json"), encoding="utf-8") as f: scene_conf = json.load(f) def current_scene(handle=None): """ 获取当前场景,场景配置位于scenes.json。 """ global cur_path global scene_conf handle = check_handle(handle) for scene in scene_conf: if exists(os.path.join(cur_path, "img/" + scene_conf[scene]["mark"] + ".png"), handle=handle): if "chinese" in scene_conf[scene]: logging.info("当前场景:" + scene_conf[scene]["chinese"])
GraphQL = Text JsonDict = Dict[Text, Any] MAX_PAGE_SIZE = 100 PAGING_INFO = """ pageInfo { hasPreviousPage hasNextPage endCursor startCursor } totalCount """ GRAPHQL_API_URI = 'https://api.github.com/graphql' GITHUB_REPO = env.get('GITHUB_REPO') GITHUB_REPO_OWNER, GITHUB_REPO_NAME = GITHUB_REPO.split('/') GITHUB_API_ACCESS_TOKEN = env.get('GITHUB_API_ACCESS_TOKEN') class Timestamp(object): """The GitHub API's timestamp format.""" def __init__(self, timestamp: Union[datetime.datetime, Text]): if isinstance(timestamp, datetime.datetime): self.datetime = timestamp else: self.datetime = datetime.datetime.strptime(timestamp, '%Y-%m-%dT%H:%M:%SZ') def __str__(self):
"""Client for querying CircleCI API. For an overview of the API https://circleci.com/docs/api/v2/ """ from typing import Dict from http import HTTPStatus import logging import requests from database import models import env CIRCLECI_API = 'https://circleci.com/api/v2' VCS_STAB = 'github' PROJECT = env.get('GITHUB_REPO') INSIGHTS_API = f'{CIRCLECI_API}/insights/{VCS_STAB}/{PROJECT}' def _dict_to_params(params: Dict): param_string = '&'.join(f'{key}={value}' for (key, value) in params.items()) return param_string and '?' + param_string class CircleCiError(Exception): def __init__(self, status_code: int, message: str): msg = f'CircleCI API Error status {status_code}. Message: {message}' super(CircleCiError, self).__init__(msg) class CircleCiAPI(object):
def __init__(self, token=None): self._token = token or env.get('CIRCLECI_API_ACCESS_TOKEN')