6VQRQPVZNZYA6ARV43ETXW36OXN6A4CPVSXFGE7WMQEKPF5FY7RAC
4NRMFG5JDCIHFLH5WFKP36ZD2XBLUHBSXJNRILIW3XSHAK23ESDAC
UDYBEVHXZDDUGDJIDTVDMQBMWMFQ7MXROB3ZKZO63JSSKKX35PBAC
RHWQQAAHNHFO3FLCGVB3SIDKNOUFJGZTDNN57IQVBMXXCWX74MKAC
UHOVWI5235P26UNRND24XOYPI3FXSCBBM5TQ4S2RLR7V73HBIBLAC
2LBFA4LQNVXH4ZRWNBGCLJ5DXVW3MTBGEQGYCXUB555TFBBNI4QQC
AQL4GMBSX2NRB4NWNXFGLRDTJI3VWUCKANVUIWHP5HI26L6OJY3AC
EC4KYI7ATB4KBYYN6KPSRJQSFQJFA7QIABQNPX5ZSVOP46UMMKPQC
LLMDYVA3POS7NO3Y34RBKAAH3TVGU5ZNKXOKTT5O7PDRQPGEIOXAC
POLQ32ZXG7UEUED6XNCAMOED3F7SN5VS3WZQQHTDSAHWTAOMLXEQC
* <2022-10-23 Sun> Running
8min de montée douce + 59min de course sur du plat (sommet de la colline)
#+begin_src python :results output
from pathlib import Path
import subprocess
import fileinput
import os
def mergeFiles(p, fname):
""" Takes a Path glob expression"""
allFiles = [x for x in p]
with open(fname, 'w') as f:
for line in fileinput.input(files=allFiles):
f.write(line)
def rmFiles(p):
for f in p:
os.remove(f)
p = Path("/alexi/Documents/mustard/PORTEMER ")
for (k, f) in enumerate(p.glob("courrier*.pdf")):
courrier= p / f"courrier{k+1}"
subprocess.run(["pdftoppm", "-png", f, courrier])
# Manage multi-pages pdf
for png in p.glob(f"courrier{k+1}*.png"):
root =png.with_suffix('')
subprocess.run(["tesseract", "-l", "fra", png, root])
txt = p.glob(f"courrier{k+1}-*.txt")
mergeFiles(txt, p / f"courrier{k+1}.txt")
# We have to rewrite the glob....
rmFiles(p.glob(f"courrier{k+1}-*.txt"))
## Now we remove the header (everyting up to the date)
## sed -i.bak -n '/^Dijon, le/,$p' $courrier.txt
## And everything after the footer
## sed -i.bak '/^BOCAGE SUD.*DIJON CEDEX$/,$d' $courrier.txt
rmFiles(p.glob(f"courrier*.png"))
#+end_src
Cf ~/code/scripts/python/mustard/courrier.py
***** TODO PED1036
***** TODO PED1037
***** TODO PED1038
***** TODO PED1040
***** TODO PED1042
***** TODO PED1043
***** TODO PED1044
***** DONE PED1036
***** DONE PED1037
***** WAIT PED1038
***** WAIT PED1040
***** WAIT PED1042
***** WAIT PED1043
***** WAIT PED1044
* Astuces
** Compiler rapidement un script haskell:
#+begin_src sh
stack script simple.hs --resolver lts-14.18
#+end_src
On peut aussi le mettre dans le code source :
* Démarrer un projet rapidement
** Script en un seul fichier (cabal)
`cabal run` sur le script suivant (ou chmod +x)
{-# LANGUAGE OverloadedStrings #-}
import Turtle
main = echo "Hello World!"
#+end_src
** Script en un seul fichier (stack)
`stack run` sur le script suivant (ou chmod +x)
#+begin_src haskell
-- stack --resolver lts-6.25 script --package turtle
{-# LANGUAGE OverloadedStrings #-}
import Turtle
main = echo "Hello World!"