From 955ff096bb612019a3c9ff0f3dfb7d0cbe88c913 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jure=20=C5=A0orn?= Date: Sat, 29 Feb 2020 12:55:27 +0100 Subject: [PATCH 1/7] Added super mario images --- web/mario_bros.png | Bin 0 -> 1953 bytes web/sprite.png | Bin 0 -> 7292 bytes 2 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 web/mario_bros.png create mode 100644 web/sprite.png diff --git a/web/mario_bros.png b/web/mario_bros.png new file mode 100644 index 0000000000000000000000000000000000000000..41051b3c688fd9762d2c4a7f110da4b9250f98d1 GIT binary patch literal 1953 zcmY*adtB047RN{C`Ut0o`N9xiqpki_0tZ8E%zTUwCL2@pfzQm33I-UEueK&l({XC& zBVm|3Is0K}+O!o74SeJyGf_-UtyB~---woqg0fg`yL&&MbMHCle$V%N&i&^Wd>`ba zuVbPE0)h1Xe7%BI=Y+}(w6#<_xS1qV9crXtA5TzKui2a`_*1%XI0*#OJ+NzPpfaYB z3J{+BLl`+MFu*OIkmeYhK!{6pq^6~-&>#?+>ZWqj63MYpYFa9u<)wN z3Vm6h`Xncx|F06B^m#1RfWYnz;OyuGeBoA=qIa`ySYmRbN_m$b+aE6MSt{#Ev+~iqZXG`$eVQM5!fC=_ zeHNNkCbet17)SjN? zX+}56kC-2#6bo8KOZ97kjqT6~{(Q!zz9^9`b_0Cj-oARe_f}{IN1UsB)}vH(mVhMG zt&~cI{QZoMgfo8-zT%qq&_xbbsc()YACVvwasA+g;qqdH;*I3|H~kxB&HL!`t*+<} zO4H3|O|Ff^di)`B+$3k@iXqnU=ff}faQTOkLe7ml)2E{CJ+r@a7Z;tR*=fm)Ah~tA z97U$s4!M+$>BmOa0rwazVx#6+Q~s*Olz$by%s|i5nLa|*l}!q+SP@FalGUfE#}hQ& zxP1TaTZdbBSVE=AR)vR#m;+bD+2rE=-`Z7AFK0;|qPOd`k2eqGJ8W_fa*+~-G9rzK zQ242t@~%%1_B)8eMIBBldwF5&!=jgok-@&misC$o$*<2^cW!&Yb5bu+Mb!XUW&|IN zj*r-hhHbFxS61q9E$RF$8L+Z!(igK}`u4uH#cSX2NQAK=$S4olPC3OL#^gX=Kh>ft z9`azxCqDFdn$VxTqQ5AJ&Mv603QOBkk0}S#hQOSxu@Z@E!Q8b-Xz=;QJR!4EFzX~A zm;!Ug&K0@Y}8*%FH24K$}`HpN!a$Hqo>=P1@xHKa5Rw*s4$IEeC`qG5yBf5pZcXf$-u ze{nMQ_ljQDKL?U6rw2pUp2q1L}p-CG3B7JNXRvwd=zz;@XNKr zv2BRcf%_UEFA+0r*ww-J*eP~HL)+>vQv9s$W6QZK%}Rt1LdSo4Z|#?0n78r~TVoj5G-vYnV!&q!a=I~~aD zxK`YIs}{FHd+c3h#%TF!TsIaI+0KsJy5;;Ex@IPN{_l%4R{=RGsoY)ke6MLv%4qE9 zvdjfLJ5)!Vxoj(`E~iW3IdOtz>Jae{&W|iSpG7l#J1uzMmfLF3vi)kMxWrQ{JBW0Z z%e|~@k6>Qx2jSK;E2}H5B&i)9c`WQJE$aTB0GJUG&K{m*Zw@|Orw&h8fMFX)52}RNRAoP=~p3DmM?;<{{!; zg5Ole@Y{6X)rL-%XPbV#HV~A5#v^0wE~4CxUr%8MqusPF zr8W9-YKyJc;6^Y%fc@8m&qslaYLDq_|!)!a3vN65>5-q**OT WeknPP=I6fqZ~C1I@~ZNTx%zLM&Z?CF literal 0 HcmV?d00001 diff --git a/web/sprite.png b/web/sprite.png new file mode 100644 index 0000000000000000000000000000000000000000..54ec2fe20080a049ccf5be7a763479e3e8be8215 GIT binary patch literal 7292 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 vSbfITG@Ca<@?xEa<-gmuJ(< literal 0 HcmV?d00001 From 94a06faf75c321976e55d3f7d1418bb96e76c764 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jure=20=C5=A0orn?= Date: Sat, 29 Feb 2020 12:58:41 +0100 Subject: [PATCH 2/7] Exceptions --- README.md | 12 ++++++------ index.html | 12 ++++++------ 2 files changed, 12 insertions(+), 12 deletions(-) diff --git a/README.md b/README.md index 96cc007..407df5b 100644 --- a/README.md +++ b/README.md @@ -1390,12 +1390,12 @@ except as : ### Exception Object ```python -arguments = .args -exc_type = .__class__ -filename = .__traceback__.tb_frame.f_code.co_filename -func_name = .__traceback__.tb_frame.f_code.co_name -line = linecache.getline(filename, .__traceback__.tb_lineno) -error_msg = traceback.format_exception(exc_type, , .__traceback__) +arguments = .args +exc_type = .__class__ +filename = .__traceback__.tb_frame.f_code.co_filename +func_name = .__traceback__.tb_frame.f_code.co_name +line = linecache.getline(filename, .__traceback__.tb_lineno) +error_msg = traceback.format_exception(exc_type, , .__traceback__) ``` ### Built-in Exceptions diff --git a/index.html b/index.html index 67d9b70..a88f36f 100644 --- a/index.html +++ b/index.html @@ -1306,12 +1306,12 @@ LogicOp = Enum('LogicOp', {raise -

Exception Object

arguments   = <name>.args
-exc_type    = <name>.__class__
-filename    = <name>.__traceback__.tb_frame.f_code.co_filename
-func_name   = <name>.__traceback__.tb_frame.f_code.co_name
-line        = linecache.getline(filename, <name>.__traceback__.tb_lineno)
-error_msg   = traceback.format_exception(exc_type, <name>, <name>.__traceback__)
+

Exception Object

arguments = <name>.args
+exc_type  = <name>.__class__
+filename  = <name>.__traceback__.tb_frame.f_code.co_filename
+func_name = <name>.__traceback__.tb_frame.f_code.co_name
+line      = linecache.getline(filename, <name>.__traceback__.tb_lineno)
+error_msg = traceback.format_exception(exc_type, <name>, <name>.__traceback__)
 

Built-in Exceptions

BaseException

From 82e5338fb0b3f2d64cc1c178c5a760decac7c33d Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Jure=20=C5=A0orn?= 
Date: Sat, 29 Feb 2020 14:28:07 +0100
Subject: [PATCH 3/7] Memory view

---
 README.md  | 1 +
 index.html | 1 +
 2 files changed, 2 insertions(+)

diff --git a/README.md b/README.md
index 407df5b..58e71dc 100644
--- a/README.md
+++ b/README.md
@@ -2007,6 +2007,7 @@ Memory View
 .write()                      # Writes mview to the binary file.
  = bytes()                       # Creates a new bytes object.
  = .join()       # Joins mviews using bytes object as sep.
+ = array('', )         # Treats mview as a sequence of numbers.
   = list()                        # Returns list of ints or floats.
    = str(, 'utf-8')                # Treats mview as a bytes object.
    = int.from_bytes(, byteorder='big/little', signed=False)
diff --git a/index.html b/index.html
index a88f36f..ce88560 100644
--- a/index.html
+++ b/index.html
@@ -1778,6 +1778,7 @@ db = connector.connect(host=<str>, user=<str>, password=<str>,
 

Decode

<bin_file>.write(<mview>)                      # Writes mview to the binary file.
 <bytes> = bytes(<mview>)                       # Creates a new bytes object.
 <bytes> = <bytes>.join(<coll_of_mviews>)       # Joins mviews using bytes object as sep.
+<array> = array('<typecode>', <mview>)         # Treats mview as a sequence of numbers.
 <list>  = list(<mview>)                        # Returns list of ints or floats.
 <str>   = str(<mview>, 'utf-8')                # Treats mview as a bytes object.
 <int>   = int.from_bytes(<mview>, byteorder='big/little', signed=False)

From bf39392baeed82e19c51b281627d02c5fa966956 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Jure=20=C5=A0orn?= 
Date: Sat, 29 Feb 2020 14:49:51 +0100
Subject: [PATCH 4/7] Coroutines

---
 README.md  | 2 +-
 index.html | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/README.md b/README.md
index 58e71dc..0dad69b 100644
--- a/README.md
+++ b/README.md
@@ -2264,7 +2264,7 @@ Coroutines
 * **Coroutine definition starts with `'async'` and its call with `'await'`.**
 * **`'asyncio.run()'` is the main entry point for asynchronous programs.**
 * **Functions wait(), gather() and as_completed() can be used when multiple coroutines need to be started at the same time.**
-* **Asyncio module also provides it's own [Queue](#queue), [Event](#semaphoreeventbarrier), [Lock](#lock) and [Semaphore](#semaphoreeventbarrier) classes.**
+* **Asyncio module also provides its own [Queue](#queue), [Event](#semaphoreeventbarrier), [Lock](#lock) and [Semaphore](#semaphoreeventbarrier) classes.**
 
 #### Runs a terminal game where you control an asterisk that must avoid numbers:
 
diff --git a/index.html b/index.html
index ce88560..130de3d 100644
--- a/index.html
+++ b/index.html
@@ -1964,7 +1964,7 @@ ValueError: malformed node or string
 
  • Coroutine definition starts with 'async' and its call with 'await'.
  • 'asyncio.run(<coroutine>)' is the main entry point for asynchronous programs.
  • Functions wait(), gather() and as_completed() can be used when multiple coroutines need to be started at the same time.
  • -
  • Asyncio module also provides it's own Queue, Event, Lock and Semaphore classes.
  • +
  • Asyncio module also provides its own Queue, Event, Lock and Semaphore classes.
  • Runs a terminal game where you control an asterisk that must avoid numbers:

    import asyncio, collections, curses, enum, random
     
     P = collections.namedtuple('P', 'x y')         # Position
    
    From e265f891ae56e6609cdc2e3baa529d250e8320b0 Mon Sep 17 00:00:00 2001
    From: =?UTF-8?q?Jure=20=C5=A0orn?= 
    Date: Sat, 29 Feb 2020 15:16:00 +0100
    Subject: [PATCH 5/7] Coroutines
    
    ---
     README.md  | 2 +-
     index.html | 2 +-
     2 files changed, 2 insertions(+), 2 deletions(-)
    
    diff --git a/README.md b/README.md
    index 0dad69b..53f5d44 100644
    --- a/README.md
    +++ b/README.md
    @@ -2264,7 +2264,7 @@ Coroutines
     * **Coroutine definition starts with `'async'` and its call with `'await'`.**
     * **`'asyncio.run()'` is the main entry point for asynchronous programs.**
     * **Functions wait(), gather() and as_completed() can be used when multiple coroutines need to be started at the same time.**
    -* **Asyncio module also provides its own [Queue](#queue), [Event](#semaphoreeventbarrier), [Lock](#lock) and [Semaphore](#semaphoreeventbarrier) classes.**
    +* **Asyncio module also provides its own [Queue](#queue), [Event](#semaphore-event-barrier), [Lock](#lock) and [Semaphore](#semaphoreeventbarrier) classes.**
     
     #### Runs a terminal game where you control an asterisk that must avoid numbers:
     
    diff --git a/index.html b/index.html
    index 130de3d..d799d24 100644
    --- a/index.html
    +++ b/index.html
    @@ -1964,7 +1964,7 @@ ValueError: malformed node or string
     
  • Coroutine definition starts with 'async' and its call with 'await'.
  • 'asyncio.run(<coroutine>)' is the main entry point for asynchronous programs.
  • Functions wait(), gather() and as_completed() can be used when multiple coroutines need to be started at the same time.
  • -
  • Asyncio module also provides its own Queue, Event, Lock and Semaphore classes.
  • +
  • Asyncio module also provides its own Queue, Event, Lock and Semaphore classes.
  • Runs a terminal game where you control an asterisk that must avoid numbers:

    import asyncio, collections, curses, enum, random
     
     P = collections.namedtuple('P', 'x y')         # Position
    
    From fb68edc876b195c57c30aef130aec174366cb6a3 Mon Sep 17 00:00:00 2001
    From: =?UTF-8?q?Jure=20=C5=A0orn?= 
    Date: Sat, 29 Feb 2020 15:24:31 +0100
    Subject: [PATCH 6/7] Coroutines
    
    ---
     index.html | 2 +-
     parse.js   | 1 +
     2 files changed, 2 insertions(+), 1 deletion(-)
    
    diff --git a/index.html b/index.html
    index d799d24..130de3d 100644
    --- a/index.html
    +++ b/index.html
    @@ -1964,7 +1964,7 @@ ValueError: malformed node or string
     
  • Coroutine definition starts with 'async' and its call with 'await'.
  • 'asyncio.run(<coroutine>)' is the main entry point for asynchronous programs.
  • Functions wait(), gather() and as_completed() can be used when multiple coroutines need to be started at the same time.
  • -
  • Asyncio module also provides its own Queue, Event, Lock and Semaphore classes.
  • +
  • Asyncio module also provides its own Queue, Event, Lock and Semaphore classes.
  • Runs a terminal game where you control an asterisk that must avoid numbers:

    import asyncio, collections, curses, enum, random
     
     P = collections.namedtuple('P', 'x y')         # Position
    diff --git a/parse.js b/parse.js
    index 579ff13..ba4ea83 100755
    --- a/parse.js
    +++ b/parse.js
    @@ -90,6 +90,7 @@ function initDom(html) {
     
     function getMd() {
       var readme = readFile('README.md');
    +  var readme = readme.replace("#semaphore-event-barrier", "#semaphoreeventbarrier");
       const converter = new showdown.Converter();
       return converter.makeHtml(readme);
     }
    
    From a73ca6b03101ac5074f0fe1eb677899b19ccceb2 Mon Sep 17 00:00:00 2001
    From: =?UTF-8?q?Jure=20=C5=A0orn?= 
    Date: Sat, 29 Feb 2020 15:27:05 +0100
    Subject: [PATCH 7/7] Coroutines
    
    ---
     README.md  | 2 +-
     index.html | 2 +-
     2 files changed, 2 insertions(+), 2 deletions(-)
    
    diff --git a/README.md b/README.md
    index 53f5d44..6a70a48 100644
    --- a/README.md
    +++ b/README.md
    @@ -2264,7 +2264,7 @@ Coroutines
     * **Coroutine definition starts with `'async'` and its call with `'await'`.**
     * **`'asyncio.run()'` is the main entry point for asynchronous programs.**
     * **Functions wait(), gather() and as_completed() can be used when multiple coroutines need to be started at the same time.**
    -* **Asyncio module also provides its own [Queue](#queue), [Event](#semaphore-event-barrier), [Lock](#lock) and [Semaphore](#semaphoreeventbarrier) classes.**
    +* **Asyncio module also provides its own [Queue](#queue), [Event](#semaphore-event-barrier), [Lock](#lock) and [Semaphore](#semaphore-event-barrier) classes.**
     
     #### Runs a terminal game where you control an asterisk that must avoid numbers:
     
    diff --git a/index.html b/index.html
    index 130de3d..d54bc80 100644
    --- a/index.html
    +++ b/index.html
    @@ -1964,7 +1964,7 @@ ValueError: malformed node or string
     
  • Coroutine definition starts with 'async' and its call with 'await'.
  • 'asyncio.run(<coroutine>)' is the main entry point for asynchronous programs.
  • Functions wait(), gather() and as_completed() can be used when multiple coroutines need to be started at the same time.
  • -
  • Asyncio module also provides its own Queue, Event, Lock and Semaphore classes.
  • +
  • Asyncio module also provides its own Queue, Event, Lock and Semaphore classes.
  • Runs a terminal game where you control an asterisk that must avoid numbers:

    import asyncio, collections, curses, enum, random
     
     P = collections.namedtuple('P', 'x y')         # Position