[O] Fix precondition indent

This commit is contained in:
Hykilpikonna
2021-12-13 17:12:06 -05:00
parent fa0583007a
commit 8e2550097f
3 changed files with 36 additions and 45 deletions
+2 -2
View File
@@ -163,7 +163,7 @@ def get_english_news_channels() -> list[str]:
Run this after download_all_tweets(api, 'TwitterNews')
Preconditions:
- <tweets_dir>/user/TwitterNews.json exists.
- <tweets_dir>/user/TwitterNews.json exists.
:return: A list of news channel screen names
"""
@@ -194,7 +194,7 @@ def filter_news_channels() -> None:
Filter out news channels that don't exist anymore or have been banned by Twitter.
Preconditions:
- Run this after downloading all tweets from the news channels in Step 2.3 in main.
- Run this after downloading all tweets from the news channels in Step 2.3 in main.
:return: None
"""
+31 -31
View File
@@ -29,16 +29,16 @@ class Config:
Secrets configuration for this program.
Attributes:
- consumer_key: The consumer key from the Twitter application portal
- consumer_secret: The consumer secret from the Twitter application portal
- access_token: The access token of an app from the Twitter application portal
- access_secret: The access secret of an app from the Twitter application portal
- consumer_key: The consumer key from the Twitter application portal
- consumer_secret: The consumer secret from the Twitter application portal
- access_token: The access token of an app from the Twitter application portal
- access_secret: The access secret of an app from the Twitter application portal
Representation Invariants:
- self.consumer_key != ''
- self.consumer_secret != ''
- self.access_token != ''
- self.access_secret != ''
- self.consumer_key != ''
- self.consumer_secret != ''
- self.access_token != ''
- self.access_secret != ''
"""
# Twitter's official API v1 keys
consumer_key: str
@@ -89,7 +89,7 @@ def write(file: str, text: str) -> None:
Write text to a file
Preconditions:
- file != ''
- file != ''
:param file: File path (will be converted to lowercase)
:param text: Text
@@ -109,7 +109,7 @@ def read(file: str) -> str:
Read file content
Preconditions:
- file != ''
- file != ''
:param file: File path (will be converted to lowercase)
:return: None
@@ -123,8 +123,8 @@ class Reporter:
Report file creator
Attributes:
- report: The string of the report
- file: Where the report is stored
- report: The string of the report
- file: Where the report is stored
Representation Invariants:
- self.file != ''
@@ -176,7 +176,7 @@ def remove_outliers(points: list[float], z_threshold: float = 3.5) -> list[float
Credit to: https://stackoverflow.com/a/11886564/7346633
Preconditions:
- len(points) > 0
- len(points) > 0
:param points: Input points list
:param z_threshold: Z threshold for identifying whether or not a point is an outlier
@@ -203,12 +203,12 @@ class Stats:
Data class storing the statistics of a sample
Attributes:
- mean: The average of the sample
- stddev: The standard deviation
- median: The median value of the sample, or the 50th percentile
- iqr: The interquartile-range (75th percentile - 25th percentile)
- q25: The first quartile, or the 25th percentile
- q75: The third quartile, or the 75th percentile
- mean: The average of the sample
- stddev: The standard deviation
- median: The median value of the sample, or the 50th percentile
- iqr: The interquartile-range (75th percentile - 25th percentile)
- q25: The first quartile, or the 25th percentile
- q75: The third quartile, or the 75th percentile
"""
mean: float
stddev: float
@@ -223,7 +223,7 @@ def get_statistics(points: list[float]) -> Stats:
Calculate statistics for a set of points
Preconditions:
- len(points) > 0
- len(points) > 0
:param points: Input points
:return: Statistics
@@ -260,8 +260,8 @@ def parse_date_time(iso: str) -> datetime:
python's built-in dateutil.parser.isoparse() function.
Preconditions:
- iso is the output of datetime.isoformat() (In a format like "2021-10-20T23:50:14")
- iso is a valid date (this function does not check for the validity of the input)
- iso is the output of datetime.isoformat() (In a format like "2021-10-20T23:50:14")
- iso is a valid date (this function does not check for the validity of the input)
:param iso: Input date
:return: Datetime object
@@ -275,8 +275,8 @@ def parse_date_only(iso: str) -> datetime:
Parse date faster.
Preconditions:
- iso starts with the format of "YYYY-MM-DD" (e.g. "2021-10-20" or "2021-10-20T10:04:14")
- iso is a valid date (this function does not check for the validity of the input)
- iso starts with the format of "YYYY-MM-DD" (e.g. "2021-10-20" or "2021-10-20T10:04:14")
- iso is a valid date (this function does not check for the validity of the input)
:param iso: Input date
:return: Datetime object
@@ -289,8 +289,8 @@ def daterange(start_date: str, end_date: str) -> Generator[tuple[str, datetime],
Date range for looping, excluding the end date
Preconditions:
- start_date starts with the "YYYY-MM-DD" format
- end_date starts with the "YYYY-MM-DD" format
- start_date starts with the "YYYY-MM-DD" format
- end_date starts with the "YYYY-MM-DD" format
:param start_date: Start date in "YYYY-MM-DD" format
:param end_date: End date in "YYYY-MM-DD" format
@@ -310,7 +310,7 @@ def map_to_dates(y: dict[str, Union[int, float]], dates: list[str],
used instead.
Preconditions:
- The date in dates must be in the same format as the dates in the keys of y
- The date in dates must be in the same format as the dates in the keys of y
:param y: Y axis data (in the format y[date] = value)
:param dates: Dates
@@ -325,8 +325,8 @@ def filter_days_avg(y: list[float], n: int) -> list[float]:
Filter y by taking an average over a n-days window. If n = 0, then return y without processing.
Preconditions:
- n % 2 == 1
- len(y) > 0
- n % 2 == 1
- len(y) > 0
:param y: Values
:param n: Number of days, must be odd
@@ -362,7 +362,7 @@ def divide_zeros(numerator: list[float], denominator: list[float]) -> list[float
Divide two lists of floats, ignoring zeros (anything dividing by zero will produce zero)
Preconditions:
- len(numerator) == len(denominator)
- len(numerator) == len(denominator)
:param numerator: Numerator
:param denominator: Denominator
@@ -409,7 +409,7 @@ def json_stringify(obj, indent: Union[int, None] = None) -> str:
configuration.
Preconditions:
- obj != None
- obj != None
:param obj: Objects
:param indent: Indent size or none
+3 -12
View File
@@ -510,6 +510,9 @@ def report_change_graphs(sample: Sample) -> None:
def report_all() -> None:
"""
Generate all reports
Preconditions:
- Report has been
"""
graph_load_font()
@@ -536,15 +539,3 @@ def report_all() -> None:
graph_line_plot(samples[0].dates, [s.date_freqs for s in samples], 'change/comb/freq.png',
'COVID-posting frequency over time for all samples - IIR(10)', True, 10,
labels=[s.name for s in samples])
if __name__ == '__main__':
report_all()
# samples = load_user_sample()
# combine_tweets_for_sample([u.username for u in samples.most_popular], '500-pop')
# combine_tweets_for_sample([u.username for u in samples.random], '500-rand')
# combine_tweets_for_sample(samples.english_news, 'eng-news')
# tweets = load_combined_tweets('500-pop')
# print(len(tweets))
# view_covid_tweets_date(tweets)