David Blume commited on 2020-12-27 10:09:33
Showing 4 changed files, with 21 additions and 27 deletions.
... | ... |
@@ -1,13 +1,11 @@ |
1 |
-#!/usr/bin/env python |
|
2 |
-# From https://dl.dropboxusercontent.com/u/3967849/pyru/_build/html/threading.html |
|
3 |
-from __future__ import print_function |
|
4 |
-import threading, Queue |
|
1 |
+#!/usr/bin/env python3 |
|
2 |
+# From https://pybay.com/site_media/slides/raymond2017-keynote/threading.html |
|
3 |
+import threading, queue |
|
5 | 4 |
|
6 |
-############################################################################# |
|
7 | 5 |
|
8 | 6 |
_counter = 0 |
9 | 7 |
|
10 |
-counter_queue = Queue.Queue() |
|
8 |
+counter_queue = queue.Queue() |
|
11 | 9 |
|
12 | 10 |
def counter_manager(): |
13 | 11 |
'I have EXCLUSIVE rights to update the _counter variable' |
... | ... |
@@ -21,9 +19,8 @@ def counter_manager(): |
21 | 19 |
'---------------']) |
22 | 20 |
counter_queue.task_done() |
23 | 21 |
|
24 |
-############################################################################# |
|
25 | 22 |
|
26 |
-print_queue = Queue.Queue() |
|
23 |
+print_queue = queue.Queue() |
|
27 | 24 |
|
28 | 25 |
def print_manager(): |
29 | 26 |
'I have EXCLUSIVE rights to call the "print" keyword' |
... | ... |
@@ -33,7 +30,6 @@ def print_manager(): |
33 | 30 |
print(line) |
34 | 31 |
print_queue.task_done() |
35 | 32 |
|
36 |
-############################################################################# |
|
37 | 33 |
|
38 | 34 |
def worker(): |
39 | 35 |
'My job is to increment the counter and print the current count' |
... | ... |
@@ -1,7 +1,7 @@ |
1 |
-#!/usr/bin/env python |
|
2 |
-# https://dl.dropboxusercontent.com/u/3967849/pyru/_build/html/process.html |
|
3 |
-from __future__ import print_function |
|
4 |
-import urllib |
|
1 |
+#!/usr/bin/env python3 |
|
2 |
+# From https://pybay.com/site_media/slides/raymond2017-keynote/process.html |
|
3 |
+import urllib.request |
|
4 |
+import urllib.error |
|
5 | 5 |
|
6 | 6 |
sites = [ |
7 | 7 |
# 'https://www.yahoo.com/', |
... | ... |
@@ -9,7 +9,7 @@ sites = [ |
9 | 9 |
# 'http://www.python.org', |
10 | 10 |
# 'http://www.jython.org', |
11 | 11 |
'http://www.pypy.org', |
12 |
-# 'http://www.perl.org', |
|
12 |
+ 'http://www.perl.org', |
|
13 | 13 |
# 'http://www.cisco.com', |
14 | 14 |
# 'http://www.facebook.com', |
15 | 15 |
# 'http://www.twitter.com', |
... | ... |
@@ -21,13 +21,14 @@ sites = [ |
21 | 21 |
] |
22 | 22 |
|
23 | 23 |
|
24 |
-def sitesize(url): |
|
24 |
+def sitesize(url: str): |
|
25 | 25 |
''' Determine the size of a website ''' |
26 |
- # TODO: Use requests instead, or migrate to python3 |
|
27 |
- f = urllib.urlopen(url) # Could use "with" in python3 |
|
26 |
+ try: |
|
27 |
+ with urllib.request.urlopen(url) as f: |
|
28 | 28 |
page = f.read() |
29 |
- f.close() |
|
30 | 29 |
return url, len(page) |
30 |
+ except urllib.error.HTTPError as e: |
|
31 |
+ return url, str(e) |
|
31 | 32 |
|
32 | 33 |
|
33 | 34 |
def run(): |
... | ... |
@@ -1,8 +1,7 @@ |
1 |
-#!/usr/bin/env python |
|
1 |
+#!/usr/bin/env python3 |
|
2 | 2 |
# -*- coding: utf-8 -*- |
3 | 3 |
# |
4 | 4 |
# "Hello Friends" in Chinese: 朋友你好 |
5 |
-from __future__ import print_function |
|
6 | 5 |
import os |
7 | 6 |
import sys |
8 | 7 |
import time |
... | ... |
@@ -11,7 +10,7 @@ import counter.counter |
11 | 10 |
import sitesize.sitesize |
12 | 11 |
|
13 | 12 |
|
14 |
-def set_v_print(verbose): |
|
13 |
+def set_v_print(verbose: bool): |
|
15 | 14 |
""" |
16 | 15 |
Defines the function v_print. |
17 | 16 |
It prints if verbose is true, otherwise, it does nothing. |
... | ... |
@@ -19,14 +18,10 @@ def set_v_print(verbose): |
19 | 18 |
:param verbose: A bool to determine if v_print will print its args. |
20 | 19 |
""" |
21 | 20 |
global v_print |
22 |
- if verbose: |
|
23 |
- def v_print(*s): |
|
24 |
- print(' '.join([i.encode('utf8') for i in s])) |
|
25 |
- else: |
|
26 |
- v_print = lambda *s: None |
|
21 |
+ v_print = print if verbose else lambda *a, **k: None |
|
27 | 22 |
|
28 | 23 |
|
29 |
-def main(debug): |
|
24 |
+def main(debug: bool): |
|
30 | 25 |
start_time = time.time() |
31 | 26 |
localdir = os.path.abspath(os.path.dirname(sys.argv[0])) |
32 | 27 |
v_print("Running counter...") |
33 | 28 |