From 5a8c1e83efcce12ba92afc6eaa09a54513480ab1 Mon Sep 17 00:00:00 2001
From: williamforbrigd <hansw0701@gmail.com>
Date: Wed, 23 Feb 2022 12:56:05 +0100
Subject: [PATCH] fixed .gitignore and added endpoints

---
 .gitignore                                |  52 +++++++++++++++++++++-
 bbcli/__pycache__/__init__.cpython-38.pyc | Bin 587 -> 0 bytes
 bbcli/__pycache__/__main__.cpython-38.pyc | Bin 383 -> 0 bytes
 bbcli/__pycache__/cli.cpython-38.pyc      | Bin 850 -> 0 bytes
 bbcli/cli.py                              |   2 +
 bbcli/endpoints.py                        |   8 ++--
 tests/test_bbcli.py                       |   2 +-
 7 files changed, 57 insertions(+), 7 deletions(-)
 delete mode 100644 bbcli/__pycache__/__init__.cpython-38.pyc
 delete mode 100644 bbcli/__pycache__/__main__.cpython-38.pyc
 delete mode 100644 bbcli/__pycache__/cli.cpython-38.pyc

diff --git a/.gitignore b/.gitignore
index 248848d..88315da 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,2 +1,50 @@
-bbcli/__pycache__
-tests/__pycache__
+# Byte-compiled / optimized / DLL files
+__pycache__/
+*.py[cod]
+
+# C extensions
+*.so
+
+# Distribution / packaging
+bin/
+build/
+develop-eggs/
+dist/
+eggs/
+lib/
+lib64/
+parts/
+sdist/
+var/
+*.egg-info/
+.installed.cfg
+*.egg
+
+# Installer logs
+pip-log.txt
+pip-delete-this-directory.txt
+
+# Unit test / coverage reports
+.tox/
+.coverage
+.cache
+nosetests.xml
+coverage.xml
+
+# Translations
+*.mo
+
+# Mr Developer
+.mr.developer.cfg
+.project
+.pydevproject
+
+# Rope
+.ropeproject
+
+# Django stuff:
+*.log
+*.pot
+
+# Sphinx documentation
+docs/_build/
\ No newline at end of file
diff --git a/bbcli/__pycache__/__init__.cpython-38.pyc b/bbcli/__pycache__/__init__.cpython-38.pyc
deleted file mode 100644
index 03ff31385bb1d05e3907f5bcfddf9136938361a8..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 587
zcmY*VO>5gg5M9~&mYot(dabT5SW<H-g;JVE4!DFQNH&F~u&gv|u~gEEm7EY?`)m4t
zdeXJ0{Dab7x;9E_W|?8$d&4mM*3+qrRGe&|Wj{28e(u5lu~$E+Y%f#+gb`?1gApFV
z81!<yLQDtaoA$-R1~##UZR}tdd&~rrSzs|6Z03N&JaD;zC*Y-MHrc&giDq81TUPoF
z&A-xu`5Phq<i=l#c`Sn7$g;fTJ0l8S2hoE%49&D&d-Y(cZucS=^@bNdaLMvc$a|kj
zDdg^W;5WQv19bwlqZw_PFBye_eEyHTle~KzJ?g|9gwKbmtJ$=-2mz53(oYDXO+#v0
zF@-!rZkcSks0qOitDzCR?%Ljvv@Te0rR($aMVewKUM6IbB-aUcFP4{!p`XSdNwPSL
z2Y965=VZBhl-*D1_0^!+%VDZF4|~$@NP5bGL-~Cfu3L3Sc*o0<(@Hs*NnSu0i+o!#
zby0XDMImWb@wy1P`gM2uHj3uao73>%Z%7EQc}Gal-1qjoO2D>c@Aq!Efhzh~*L2Nx
Q&0iz!$<s$j;iviMFL`95VE_OC

diff --git a/bbcli/__pycache__/__main__.cpython-38.pyc b/bbcli/__pycache__/__main__.cpython-38.pyc
deleted file mode 100644
index 239121a6e6bae800e8b66326c1d18ccf1ce6c731..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 383
zcmYjLyH3O~5L`c!3y4TZPmwlAgdac%3F;H#(YRS9afAX%Y&oGgT4?F{1$w?FEfv2&
z#o8y}R@%qdJ2QKmrn^A##?tD8`lkom!3msEjs+DB3N+KaV?9^A7fLYDLdzFWvWax`
zz};aZpMhTEYseQ*2UnNbjXAn7Su;#-omtZkQ#RJFwNvp$ijebJ)LlF8A(qzSQ1%UC
z?SHmI5ICnCmsBRWXA{@#m5~pS4`1a>?O12-0zVhdU#$cQI?sFuC#i+<y<b)2cZ}GV
z?SNR=^(_4u)5hp|z?`4w<acG2$MXVFn;KC?fgTKk_TTR2@_(bv6a}S|-ss1!Ic0>#
Mgo+ePo`{6~0CTZUfdBvi

diff --git a/bbcli/__pycache__/cli.cpython-38.pyc b/bbcli/__pycache__/cli.cpython-38.pyc
deleted file mode 100644
index 56ca9b0fb311d2f4f601ee8db6500f8685de7ca6..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 850
zcmZXS&2H2%5P)sR$!7ohBXQxD0|Ii`rs9H-DumP`goH{(x0hTZZ|v?GoH%l_Te{)|
zz48PFse9y=eC5OwAoT*{bb(4Zn#s)A9?yLC$#B?1Fs{w!WRD>9-8r{M7o2Ax^#T+}
zDdLzDg$t4r>}*eYsRw_mXyK=R5u^b|!n^9MP#TIZ_qhLs@PKzNXxbCuReuGuZwC+$
zd6)M@kN5fDb8w0U5#758;zL-!!8b4bPdFWN?-<2f%lqS*tfNBnxe`%j^g?n`N6kz`
zZ;qm|9v$dt|JBQ#A5bHTu?=5WjnpMmhcU5(EMrxbm8=k1X8T#T5T=INEQ3jZ!PH#X
zz=&pU${f1{>)~u4WFMry2kHYdQG>2<LoT87#=Ascy%oj?VswQ*Vve9za=0YXBKED{
zoL9nFD)N~&9&9%hl%>z#%O=LgW&VbYgMa-ZIjNzh<V-3hS#he(#K<X64s<>*MA_8I
zk<nAbib9stL~_<NkDl!Aj&>hEN+y$B$pmDlI=9<@d&`+p6PCXlK>j)ag)qf;uyOvf
zI~uJSEXioGe0V(5XDv+Nq-4$<y9af&UK6pBM*^ze8ONTbGodOQ{>g7cS!aSxg#nnI
z^$z0>{EwyM*|KyTT2}b5?H_1tL8!HFR3BVR3nt5Luxfah2=$G#;|<%%GOlyD$^Zxh
z5aXsz2bA?&8n<Zs<Mt9fXw1@y)~W?yHr(Ri=8?2%Z=LOK#Iyy3dp8g6sjIww0n{6i
VkZd{e141$R_g&Lp1P3Ac`5VEN%tZhI

diff --git a/bbcli/cli.py b/bbcli/cli.py
index 0389e53..efd4ffb 100644
--- a/bbcli/cli.py
+++ b/bbcli/cli.py
@@ -14,6 +14,8 @@ def _version_callback(value: bool) -> None:
         typer.echo(f"{__app_name__} v{__version__}")
         raise typer.Exit()
 
+
+
 @app.callback()
 def main(
     version: Optional[bool] = typer.Option(
diff --git a/bbcli/endpoints.py b/bbcli/endpoints.py
index 7a452f1..d1d2cfe 100644
--- a/bbcli/endpoints.py
+++ b/bbcli/endpoints.py
@@ -5,16 +5,16 @@ import pprint
 import typer
 #from string_builder import StringBuilder
 import click
+from typing import Optional
 
 app = typer.Typer()
 
-
-cookies = {'BbRouter': 'expires:1645188702,id:0E5CC03E415FE4459D9F34DDDFC4AEE7,signature:4e8d6fc59c11f744f6350399dc8cdf14f65a2c26d20e7d53c97141749e9056ac,site:f4fe20be-98b0-4ecd-9039-d18ce2989292,timeout:10800,user:15bd75dd85af4f56b31283276eb8da7c,v:2,xsrf:ac218e34-3110-415c-8718-bd0c8c8bcc8c'}
+cookies = {'BbRouter': 'expires:1645202601,id:2480855EED2012DA032F19DEE1610883,signature:81a13d5bdf4946a82a632a9035c0f35811f217671da872677b1d1c32e7a3c339,site:f4fe20be-98b0-4ecd-9039-d18ce2989292,timeout:10800,user:15bd75dd85af4f56b31283276eb8da7c,v:2,xsrf:1bea7fee-fa91-4197-991f-1d266fd1ceee'}
 base_url = 'https://ntnu.blackboard.com/learn/api/public/v1/'
 
 
 @app.command()
-def getuser(user_name: str = 'hanswf') -> None:
+def getuser(user_name: str = typer.Argument('hanswf', help='Name of the user'))-> None:
     '''
     Get the user. 
     Specify the user_name as an option, or else it will use the default user_name
@@ -42,7 +42,7 @@ def getcourse(course_id: str = 'IDATT2900'):
 
 @app.command()
 def getcoursecontents(course_id: str = '_27251_1'):
-    url = base_url + 'courses/%s/contents' % course_id
+    url = f'{base_url}courses/{course_id}/contents'
     x = requests.get(url, cookies=cookies)
     data = x.json()
     print(pprint.pprint(data))
diff --git a/tests/test_bbcli.py b/tests/test_bbcli.py
index 14c5d1c..8eaa532 100644
--- a/tests/test_bbcli.py
+++ b/tests/test_bbcli.py
@@ -6,7 +6,7 @@ runner = CliRunner()
 
 def test_version():
 	# invokes the command line and checks the version
-	result = runner.invoke(cli.app, ["--version"])
+	result = runner.invoke(cli.app, ['--version'])
 	assert result.exit_code == 0
 
 	assert result.output == f"{__app_name__} v{__version__}\n"
-- 
GitLab