forked from AITech/aitech-ppb-pbr
9.0 KiB
9.0 KiB
#procedura napisywania plików ipynb (generowanie nagłówka i metadanych)
import json
def modjup(filen,numer,tytul,typ,author,email,lang,title,year):
zerocell=['![Logo 1](https://git.wmi.amu.edu.pl/AITech/Szablon/raw/branch/master/Logotyp_AITech1.jpg)\n',
'<div class="alert alert-block alert-info">\n',
'<h1> %s </h1>\n'%(title),
'<h2> %s. <i>%s</i> [%s]</h2> \n'%(numer,tytul,typ),
'<h3> %s (%s)</h3>\n'%(author,year),
'</div>\n',
'\n',
'![Logo 2](https://git.wmi.amu.edu.pl/AITech/Szablon/raw/branch/master/Logotyp_AITech2.jpg)']
zerodict={'cell_type': 'markdown','metadata': {'collapsed': False},'source': zerocell}
with open(filen, 'r+') as f:
ll=json.load(f)
ll["metadata"]["author"]=author
ll["metadata"]["email"]=email
ll["metadata"]["lang"]=lang
subtitle="%s.%s[%s]"%(numer,tytul,typ)
ll["metadata"]["subtitle"]=subtitle
ll["metadata"]["title"]=title
ll["metadata"]["year"]=year
if not(ll['cells'][0]['source'][0]==zerocell[0]):
ll['cells'].insert(0,zerodict)
else:
ll['cells'][0]=zerodict
f.seek(0)
json.dump(ll,f,indent=4)
#zmodyfikuj te dane
filen="01_praca_zespolowa.ipynb"
numer="1"
tytul=""
typ="wyklad"
author="Krzysztof Jassem"
email="jassem@amu.edu.pl"
lang= "pl"
title="Przygotowanie do projektu badawczo-rozwojowego"
year="2021"
#uruchom procedurę
modjup(filen,numer,tytul,typ,author,email,lang,title,year)
[1;31m---------------------------------------------------------------------------[0m [1;31mUnicodeDecodeError[0m Traceback (most recent call last) [1;32m<ipython-input-5-1005847c1bc8>[0m in [0;36m<module>[1;34m[0m [0;32m 13[0m [1;33m[0m[0m [0;32m 14[0m [1;31m#uruchom procedurę[0m[1;33m[0m[1;33m[0m[1;33m[0m[0m [1;32m---> 15[1;33m [0mmodjup[0m[1;33m([0m[0mfilen[0m[1;33m,[0m[0mnumer[0m[1;33m,[0m[0mtytul[0m[1;33m,[0m[0mtyp[0m[1;33m,[0m[0mauthor[0m[1;33m,[0m[0memail[0m[1;33m,[0m[0mlang[0m[1;33m,[0m[0mtitle[0m[1;33m,[0m[0myear[0m[1;33m)[0m[1;33m[0m[1;33m[0m[0m [0m [1;32m<ipython-input-3-2ca9011d1935>[0m in [0;36mmodjup[1;34m(filen, numer, tytul, typ, author, email, lang, title, year)[0m [0;32m 13[0m [0mzerodict[0m[1;33m=[0m[1;33m{[0m[1;34m'cell_type'[0m[1;33m:[0m [1;34m'markdown'[0m[1;33m,[0m[1;34m'metadata'[0m[1;33m:[0m [1;33m{[0m[1;34m'collapsed'[0m[1;33m:[0m [1;32mFalse[0m[1;33m}[0m[1;33m,[0m[1;34m'source'[0m[1;33m:[0m [0mzerocell[0m[1;33m}[0m[1;33m[0m[1;33m[0m[0m [0;32m 14[0m [1;32mwith[0m [0mopen[0m[1;33m([0m[0mfilen[0m[1;33m,[0m [1;34m'r+'[0m[1;33m)[0m [1;32mas[0m [0mf[0m[1;33m:[0m[1;33m[0m[1;33m[0m[0m [1;32m---> 15[1;33m [0mll[0m[1;33m=[0m[0mjson[0m[1;33m.[0m[0mload[0m[1;33m([0m[0mf[0m[1;33m)[0m[1;33m[0m[1;33m[0m[0m [0m[0;32m 16[0m [0mll[0m[1;33m[[0m[1;34m"metadata"[0m[1;33m][0m[1;33m[[0m[1;34m"author"[0m[1;33m][0m[1;33m=[0m[0mauthor[0m[1;33m[0m[1;33m[0m[0m [0;32m 17[0m [0mll[0m[1;33m[[0m[1;34m"metadata"[0m[1;33m][0m[1;33m[[0m[1;34m"email"[0m[1;33m][0m[1;33m=[0m[0memail[0m[1;33m[0m[1;33m[0m[0m [1;32m~\anaconda3\lib\json\__init__.py[0m in [0;36mload[1;34m(fp, cls, object_hook, parse_float, parse_int, parse_constant, object_pairs_hook, **kw)[0m [0;32m 291[0m [0mkwarg[0m[1;33m;[0m [0motherwise[0m[0;31m [0m[0;31m`[0m[0;31m`[0m[0mJSONDecoder[0m[0;31m`[0m[0;31m`[0m [1;32mis[0m [0mused[0m[1;33m.[0m[1;33m[0m[1;33m[0m[0m [0;32m 292[0m """ [1;32m--> 293[1;33m return loads(fp.read(), [0m[0;32m 294[0m [0mcls[0m[1;33m=[0m[0mcls[0m[1;33m,[0m [0mobject_hook[0m[1;33m=[0m[0mobject_hook[0m[1;33m,[0m[1;33m[0m[1;33m[0m[0m [0;32m 295[0m [0mparse_float[0m[1;33m=[0m[0mparse_float[0m[1;33m,[0m [0mparse_int[0m[1;33m=[0m[0mparse_int[0m[1;33m,[0m[1;33m[0m[1;33m[0m[0m [1;32m~\anaconda3\lib\encodings\cp1250.py[0m in [0;36mdecode[1;34m(self, input, final)[0m [0;32m 21[0m [1;32mclass[0m [0mIncrementalDecoder[0m[1;33m([0m[0mcodecs[0m[1;33m.[0m[0mIncrementalDecoder[0m[1;33m)[0m[1;33m:[0m[1;33m[0m[1;33m[0m[0m [0;32m 22[0m [1;32mdef[0m [0mdecode[0m[1;33m([0m[0mself[0m[1;33m,[0m [0minput[0m[1;33m,[0m [0mfinal[0m[1;33m=[0m[1;32mFalse[0m[1;33m)[0m[1;33m:[0m[1;33m[0m[1;33m[0m[0m [1;32m---> 23[1;33m [1;32mreturn[0m [0mcodecs[0m[1;33m.[0m[0mcharmap_decode[0m[1;33m([0m[0minput[0m[1;33m,[0m[0mself[0m[1;33m.[0m[0merrors[0m[1;33m,[0m[0mdecoding_table[0m[1;33m)[0m[1;33m[[0m[1;36m0[0m[1;33m][0m[1;33m[0m[1;33m[0m[0m [0m[0;32m 24[0m [1;33m[0m[0m [0;32m 25[0m [1;32mclass[0m [0mStreamWriter[0m[1;33m([0m[0mCodec[0m[1;33m,[0m[0mcodecs[0m[1;33m.[0m[0mStreamWriter[0m[1;33m)[0m[1;33m:[0m[1;33m[0m[1;33m[0m[0m [1;31mUnicodeDecodeError[0m: 'charmap' codec can't decode byte 0x81 in position 8350: character maps to <undefined>