def setup_usage_logfile(session_id=None): """Sets up the usage logging default config and environment values.""" if not session_id: session_id = get_session_uuid() # default file path and name for usage logging filelogging_filename = FILE_LOG_FILENAME_TEMPLATE \ .format(PYREVIT_FILE_PREFIX, session_id, FILE_LOG_EXT) # default server url for usage logging usagelog_serverurl = '' # initialize env variables related to usage logging _init_usagelogging_envvars() # setup config section if does not exist if not user_config.has_section('usagelogging'): user_config.add_section('usagelogging') # GLOBAL SWITCH ------------------------------------------------------------ # setup default value for usage logging global switch ul_config = user_config.usagelogging usageloggingactive = ul_config.get_option('active', default_value=False) set_pyrevit_env_var(USAGELOG_STATE_ISC_KEYNAME, usageloggingactive) # FILE usage logging ------------------------------------------------------- # read or setup default values for file usage logging logfilepath = ul_config.get_option('logfilepath', default_value=PYREVIT_VERSION_APP_DIR) # check file usage logging config and setup destination if not logfilepath or is_blank(logfilepath): # if no config is provided, disable output _disable_file_usage_logging() else: # if config exists, create new usage log file under the same address if op.isdir(logfilepath): # if directory is valid logfile_fullpath = op.join(logfilepath, filelogging_filename) _setup_default_logfile(logfile_fullpath) else: # if not, show error and disable usage logging if usageloggingactive: logger.error('Provided usage log address does not exits or is ' 'not a directory. Usage logging disabled.') _disable_usage_logging() # SERVER usage logging ----------------------------------------------------- # read or setup default values for server usage logging logserverurl = ul_config.get_option('logserverurl', default_value=usagelog_serverurl) # check server usage logging config and setup destination if not logserverurl or is_blank(logserverurl): # if no config is provided, disable output _disable_server_usage_logging() else: # if config exists, setup server logging set_pyrevit_env_var(USAGELOG_SERVERURL_ISC_KEYNAME, logserverurl)
def get_marks(self): all_marks = set() for cloud in self._clouds: mark = cloud.LookupParameter('Mark').AsString() if not coreutils.is_blank(mark): all_marks.add(mark) return all_marks
def get_comments(self): all_comments = set() for cloud in self._clouds: comment = cloud.LookupParameter('Comments').AsString() if not coreutils.is_blank(comment): all_comments.add(comment) return all_comments
def get_comments(self): all_comments = set() for cloud in self._clouds: cparam = \ cloud.Parameter[DB.BuiltInParameter.ALL_MODEL_INSTANCE_COMMENTS] comment = cparam.AsString() if not coreutils.is_blank(comment): all_comments.add(comment) return all_comments
def _process_sheet_code(self): for sheet_code in str(self.sheets_tb.Text).split('\n'): if coreutils.is_blank(sheet_code): continue if '\t' not in sheet_code: logger.warning( 'Sheet name must be separated from ' 'sheet number by a single tab: {}'.format(sheet_code)) return False sheet_code = re.sub('\t+', '\t', sheet_code) sheet_code = sheet_code.replace('\n', '').replace('\r', '') num, name = sheet_code.split('\t') self._sheet_dict[num] = name return True
def _process_sheet_code(self): for sheet_code in str(self.sheets_tb.Text).split('\n'): if coreutils.is_blank(sheet_code): continue if '\t' not in sheet_code: logger.warning( 'Sheet name must be separated from ' 'sheet number by a single tab: {}'.format(sheet_code)) return False sheet_code = re.sub('\t+', '\t', sheet_code) sheet_code = sheet_code.replace('\n', '').replace('\r', '') num, name = sheet_code.split('\t') try: for range_num in coreutils.exract_range(num): self._sheet_dict[range_num] = name except Exception as range_err: logger.error(range_err) return False return True
def setup_telemetry(session_id=None): """Sets up the telemetry default config and environment values.""" # make sure session id is availabe if not session_id: session_id = sessioninfo.get_session_uuid() # PYREVIT TELEMETRY ------------------------------------------------------- # utc timestamp telemetry_utc_timestamp = user_config.telemetry_utc_timestamp set_telemetry_utc_timestamp(telemetry_utc_timestamp) # global telemetry toggle telemetry_state = user_config.telemetry_status set_telemetry_state(telemetry_state) # read or setup default values for file telemetry # default file path and name for telemetry telemetry_file_dir = user_config.telemetry_file_dir set_telemetry_file_dir(telemetry_file_dir) # check file telemetry config and setup destination if not telemetry_file_dir or coreutils.is_blank(telemetry_file_dir): # if no config is provided, disable output disable_telemetry_to_file() # if config exists, create new telemetry file under the same address elif telemetry_state: if op.isdir(telemetry_file_dir): telemetry_file_name = \ FILE_LOG_FILENAME_TEMPLATE.format(PYREVIT_FILE_PREFIX, session_id, FILE_LOG_EXT) # if directory is valid telemetry_fullfilepath = \ op.join(telemetry_file_dir, telemetry_file_name) set_telemetry_file_path(telemetry_fullfilepath) # setup telemetry file or disable if failed try: _setup_default_logfile(telemetry_fullfilepath) except Exception as write_err: mlogger.error( 'Telemetry is active but log file location ' 'is not accessible. | %s', write_err) disable_telemetry_to_file() else: # if not, show error and disable telemetry mlogger.error('Provided telemetry address does not exits or is ' 'not a directory. Telemetry disabled.') disable_telemetry_to_file() # read or setup default values for server telemetry telemetry_server_url = user_config.telemetry_server_url # check server telemetry config and setup destination if not telemetry_server_url or coreutils.is_blank(telemetry_server_url): # if no config is provided, disable output disable_telemetry_to_server() else: # if config exists, setup server logging set_telemetry_server_url(telemetry_server_url) # set telemetry script types set_telemetry_include_hooks(user_config.telemetry_include_hooks) # APP TELEMETRY ------------------------------------------------------------ # setup default value for telemetry global switch apptelemetry_state = user_config.apptelemetry_status set_apptelemetry_state(apptelemetry_state) # read or setup default values for server telemetry apptelemetry_server_url = user_config.apptelemetry_server_url # check server telemetry config and setup destination if not apptelemetry_server_url \ or coreutils.is_blank(apptelemetry_server_url): # if no config is provided, disable output disable_apptelemetry_to_server() else: # if config exists, setup server logging set_apptelemetry_server_url(apptelemetry_server_url) # setup events new_telemetry_handler = EventTelemetry(session_id) telemetry_handler = get_apptelemetry_handler() if telemetry_handler: # clear existing telemetry_events.unregister_all_event_telemetries(telemetry_handler) set_apptelemetry_handler(new_telemetry_handler) # register handlers only if telemetry system is active if apptelemetry_state: apptelemetry_event_flags = get_apptelemetry_event_flags() # re-register events with new telemetry_handler telemetry_events.register_event_telemetry(new_telemetry_handler, apptelemetry_event_flags) user_config.save_changes()
def setup_usage_logfile(session_id=None): """Sets up the usage logging default config and environment values.""" if not session_id: session_id = get_session_uuid() # default file path and name for usage logging filelogging_filename = FILE_LOG_FILENAME_TEMPLATE \ .format(PYREVIT_FILE_PREFIX, session_id, FILE_LOG_EXT) # default server url for usage logging usagelog_serverurl = 'https://design-tech-analytics.herokuapp.com/analytics/' \ 'pyRevit?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9' \ '.eyJhcHBsaWNhdGlvbiI6IldSSVRFX1dFV09SS1BZUkVWSVQiLCJpYXQiOjE1NDM1MTYxMzN9' \ '.9G-LxWLQYYWoOF3fBOl8Uf2p9pLjI5FNtBlYoXUemOE' # initialize env variables related to usage logging _init_usagelogging_envvars() # setup config section if does not exist if not user_config.has_section('usagelogging'): user_config.add_section('usagelogging') # GLOBAL SWITCH ------------------------------------------------------------ # setup default value for usage logging global switch ul_config = user_config.usagelogging usageloggingactive = ul_config.get_option('active', default_value=True) envvars.set_pyrevit_env_var(PYREVIT_USAGELOGSTATE_ENVVAR, usageloggingactive) # FILE usage logging ------------------------------------------------------- # read or setup default values for file usage logging logfilepath = ul_config.get_option('logfilepath', default_value=PYREVIT_VERSION_APP_DIR) # check file usage logging config and setup destination if not logfilepath or is_blank(logfilepath): # if no config is provided, disable output _disable_file_usage_logging() else: # if config exists, create new usage log file under the same address if usageloggingactive: if op.isdir(logfilepath): # if directory is valid logfile_fullpath = op.join(logfilepath, filelogging_filename) _setup_default_logfile(logfile_fullpath) else: # if not, show error and disable usage logging logger.error('Provided usage log address does not exits or is ' 'not a directory. Usage logging disabled.') _disable_usage_logging() # SERVER usage logging ----------------------------------------------------- # read or setup default values for server usage logging logserverurl = ul_config.get_option('logserverurl', default_value=usagelog_serverurl) # check server usage logging config and setup destination if not logserverurl or is_blank(logserverurl): # if no config is provided, disable output _disable_server_usage_logging() else: # if config exists, setup server logging envvars.set_pyrevit_env_var(PYREVIT_USAGELOGSERVER_ENVVAR, logserverurl)