def setup_client(): logging.info("Setting up client") client = ActivityWatchClient("aw-fake-client", testing=True) client.client_hostname = hostname eventtype = "currentwindow" client.create_bucket(window_bucket_name, eventtype) eventtype = "afkstatus" client.create_bucket(afk_bucket_name, eventtype) client.connect() return client
def delete_prev_buckets(): logging.info("Deleting old buckets") client = ActivityWatchClient("aw-fake-client", testing=True) client.client_hostname = hostname client.connect() try: client.delete_bucket(window_bucket_name) except HTTPError: pass try: client.delete_bucket(afk_bucket_name) except HTTPError: pass
def setup_client() -> ActivityWatchClient: logger.info("Setting up client") # Default is to run in testing mode, can be run in prod mode if set to exactly 'false' testing = os.getenv("AW_TESTING", "true").lower() not in ["false"] if testing: logger.info( "Using testing parameters (set the env var AW_TESTING to false to run in prod mode)" ) client = ActivityWatchClient(client_name, testing=testing) client.client_hostname = hostname buckets = client.get_buckets() logger.info("Deleting old buckets") buckets_all = [ bucket_afk, bucket_window, bucket_browser_chrome, bucket_browser_firefox, ] if not testing: ans = input( f"Running in prod, are you sure you want to delete all existing buckets?\n{buckets_all}\nAre you sure? (y/N)" ) if ans != "y": print("Exiting") sys.exit(0) for bucket in [ bucket_window, bucket_afk, bucket_browser_chrome, bucket_browser_firefox, ]: if bucket in buckets: client.delete_bucket(bucket, force=True) client.create_bucket(bucket_window, "currentwindow") client.create_bucket(bucket_afk, "afkstatus") client.create_bucket(bucket_browser_chrome, "web.tab.current") client.create_bucket(bucket_browser_firefox, "web.tab.current") client.connect() return client
def send_to_activitywatch(events): print("Sending events to ActivityWatch...") hostname = "macos-screentime-test" # NOTE: 'aw-watcher-android' string is only there for aw-webui to detect it as a mobile device bucket = f"aw-watcher-android_aw-import-screentime_{hostname}" aw = ActivityWatchClient(client_name="aw-import-screentime") aw.client_hostname = hostname # buckets = aw.get_buckets() # if bucket in buckets.keys(): # ans = input("Bucket already found, overwrite? (y/N): ") # if ans == "y": # aw.delete_bucket(bucket, force=True) aw.create_bucket(bucket, "currentwindow") aw.send_events(bucket, events)