# # from git import Repo # import os # import streamlit as st # # st.set_page_config( # # page_title="TRACING INSIGHTS", # # page_icon=None, # # layout="wide", # # #initial_sidebar_state="expanded", # # # menu_items={ # # # 'Get Help': 'https://www.extremelycoolapp.com/help', # # # 'Report a bug': "https://www.extremelycoolapp.com/bug", # # # 'About': "# This is a header. This is an *extremely* cool app!" # # # } # # ) # st.write("Hello world!") # GITHUB_PAT = os.environ['GITHUB'] # api_key = os.environ['api_key'] # secret_api_key = os.environ['secret_api_key'] # access_token = os.environ['access_token'] # secret_access_token = os.environ['secret_access_token'] # # if not os.path.exists('repo_directory'): # # Repo.clone_from(f'https://tracinginsights:{GITHUB_PAT}@github.com/TracingInsights/translator.git', 'repo_directory' ) # # from repo_directory import translator # # translator.auth(api_key,secret_api_key,access_token,secret_access_token) # import translators as ts # import translators.server as tss # import random # import tweepy # import time # import json # # works with tweets and replies too # def bulk_trans(text: str, ): # """ # Will translate str into num_trans different languages and then back into original language # :param text: str, must # :return: str # """ # curr = tss.google(text, to_language="en", sleep_seconds=0.051) # return curr # def check_or_write(filename:str, s1:str): # """ # Will check if s1 is in a single line within filename and also write # the tweet to filename if it is not inside. Returns true when s1 is # not inside, returns false when s1 is found. Keeps line length of text # file less than 22 # :param filename: str(must) # :param s1: str(must) # :return: bool # """ # #checks to see if s1 is already inside # with open(filename, 'r', encoding='utf8') as f1: # f1.seek(0) # lines=f1.readlines() # l=0 # for line in lines: # l+=1 # if s1 in line: # return False # #makes sure that there is not more than 20 lines in txt file # if l>20: # while l>20: # del lines[0] # l-=1 # new_file=open(filename, "w+", encoding='utf8') # for line in lines: # new_file.write(line) # new_file.close() # #returns true and also writes down text into file at the end # with open(filename, 'a', encoding='utf8') as f1: # f1.write(s1 + '\n') # f1.close() # return True # # from translator github # def auth(api_key,secret_api_key,access_token,secret_access_token): # # Authenticate to Twitter # auth = tweepy.OAuthHandler(api_key, secret_api_key) # auth.set_access_token(access_token, secret_access_token) # api = tweepy.API(auth, wait_on_rate_limit=True) # #loops endlessly(60 sec interval) and checks,translates,and posts tweets # # use this to get user id https://tweeterid.com/ # while True: # # get twitter user_id at https://tweeterid.com/ by typing username # timeline = api.home_timeline(count=20,trim_user=True, # include_entities=["2755544640", "1030481714", "407048032","227265199","190632194", "149542215","127854979", "106170617"], # ) # # increase count if more users are added # # timeline = api.user_timeline(user_id=#"1568348454619070465", #testing case using englishgiuly, # # user, # # #["1503789937245581315","1568348454619070465" ], # tracing and englishgiuly accounts # # #["2755544640", "1030481714", "407048032","227265199","190632194", "149542215","127854979", "106170617"], # # count=5, tweet_mode="extended",) # for tweet in timeline: # if check_or_write('tweet.txt', " ".join(tweet.text.splitlines())): #change from full_text to text # curr = bulk_trans(tweet.text) #change from full_text to text # status = f"{curr[:254]} https://twitter.com/1/status/{tweet.id}" # each link is converted to 23 characters # api.update_status(status) # doesn't matter what username we use # print(tweet.text) #change from full_text to text # time.sleep(60) # auth(api_key,secret_api_key,access_token,secret_access_token)