
    d/fR                         d dl Z d dlZd dlZd Zd Zd Zd Zd Zd Zd Z	d	 Z
dd
Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zy)    Nc                 N    | j                  |      }|dk7  r| |d  S t        d      )NzSub string not found!)find	Exception)my_strsubindexs      *D:\Git_Server-LaTeX-VALEP\py\htmlcarnap.pyslicerr      s/    ;;s5bjuv	01	1    c                 j    d}t        j                  |d|       } d}t        j                  |d|       } | S )Nz3\\kern-*\d*\.?\d*(em|mm|pt|pc|ex|cm|in|bp|dd|cc|sp) z\\markboth\{(.*?)\}\{(.*?)\}rer   )latex_contentpatterns     r
   remove_kern_etcr      s6    DGFF7B6M-GFF7B6Mr   c                 d    ddd}|j                         D ]  \  }}| j                  ||      }  | S )Nu   „z&ldquo;)z,,z``(?=\s))itemsreplace)html_contentreplacementsr   replacements       r
   replace_latex_charsr      sH    L !- 2 2 4 B#++G[ABr   c                 X    ddddddddd	}fd
}t        j                  |||       }|S )N   ä   ö   ü   Ä   Ö   Ü   ß)aouAOUsz(?<!=)"([aouAOUs]{1})c                 Z    | j                  d      }|v r|   S | j                  d      S )N   group)matchcharchar_maps     r
   r   z'replace_accented_chars.<locals>.replace2   s0    {{1~8D>!;;q>!r   r   )r   r   r   resultr0   s       @r
   replace_accented_charsr2   "   sF     H &G" VVGWl3FMr   c                 
   | j                  d      }	 t        j                  t        |d         t        |d         t        |d               j                  d      }g d}|t        |         S #  t	        d|  d       Y y	xY w)
N-r   r+      z%w)SoMoDiMiDoFrSaConversion of uglydate failed: # does not seem to be a proper date.
DATE-ERROR)splitdatetimeintstrftimeprint)uglydatedatdaydayss       r
   get_week_dayrI   ?   s}    
..
CCFSQ[#c!f+FOOPTU9CH~/z9\]^s   AA/ /Bc                     | j                  d      }g d}	 |t        |d         dz
     S #  t        d|  d       Y yxY w)Nr4   IIIIIIIVVVIVIIVIIIIXXXIXIIr+   r=   r>   r?   )r@   rB   rD   )rE   rF   monthss      r
   get_roman_monthrY   J   sN    
..
CWFc#a&k!m$$/z9\]^s   + >c                     t        | t              rd| cxk  rdk  r| S  d}ddddddd	d
ddddd}|j                         D ]  }|| k(  s	||   } |S )Nr      r+   r5                     	   
         rK   )
isinstancerB   keys)
romanmontharabicmonthrX   keys       r
   get_arabic_monthrk   S   sy    *c"q:':': (;KAaqq!UV^_fhpr{}~F{{} &* +K& r   c                     | j                  d      }	 t        |        d|d    dt        |        d|d    S #  t        d|  d       Y yxY w)	Nr4    r5   . r   r=   r>   r?   )r@   rI   rY   rD   rE   rF   s     r
   	nice_daterp   ^   sg    
..
Cx()3q6("_X5N4OrRUVWRXQYZZ/z9\]^s	   $8 Ac                    | dk(  r| S | j                  d      }	 t        j                  t        |d         t        |d         t        |d               }|dk(  s|j                  d      dk(  r%t	        |        d	|d    d
t        |        d
|d    S |dk(  s|j                  d      dk(  r t	        |        d	|d    d
t        |        dS t	        |        d	|d    S #  t        d|  d       Y yxY w)Nr   r4   r   r+   r5   llongz%j001rm   rn   longz%d01.r=   r>   r?   )r@   rA   rB   rC   rI   rY   rD   )rE   	entrytyperF   dates       r
   	make_datery   g   s   2~
..
C
  SVc#a&k3s1v;G4==#6%#?"8,-Qs1vhb9R8SSUVYZ[V\U]^^& DMM$$74$?"8,-Qs1vhb9R8SSTUU"8,-Qs1vh77/z9\]^s   A8C 8C C C2c                     d}| dk(  r| S | j                  d      }t        |      dk(  r|d    dt        |d          d|d    }|S |S )Nr   r4   r]   r\   r5   r+   )r@   lenrk   )diarystringrE   rF   rx   s       r
   
parse_dater}   x   sc    Hb


C
 C
3x1}a&+CF34Ac!fX>Or   c                 x    | j                  d      }	 t        |        d|d    S #  t        d|  d       Y yxY w)Nr4   z&#8201;/&#8201;r   r=   r>   r?   )r@   rY   rD   ro   s     r
   
make_monthr      sM    
..
C!(+,OCF8DD/z9\]^s   & 9c                 j    t        | d      } t        | dd      } t        | dd      } t        | d      } | S )Nznote-eznote-ar#   znote-e-innerr&   zfn-c)replace_tagreplace_tag_alphreplace_tag_symbols)r   s    r
   add_all_to_notesr      s<    |X6L#L(C@L#L.#FL&|V<Lr   c                     | j                  d      }d}|t        |      k  r%t        ||         ||<   |dz  }|t        |      k  r%dj                  |      } | S )Nz<h1r   r+   )r@   r{   r   join)r   chaptersis      r
   add_all_to_notes_chapterwiser      sb    !!%(H	A
c(m
&x{3	Q c(m
 ::h'Lr   c                 Z    dd d d}fd}t        j                  |||       } | S )Nr+   <	>(.*?)<\/>c                 z    d d d  d d d d  d| j                  d       d d	 d
}dz  |S Nr   ><-label data-fn="id"></-label><-content  data-fn="idr+   -content></r   r,   )r.   r   countertag_names     r
   replzreplace_tag.<locals>.repl   s    (2hZ/A(G9TVW^V__abjakkst|s}  ~S  T\  S]  ^e  ]f  fh  in  it  it  uv  iw  hx  xz  {C  zD  DO  PX  OY  YZ  [1r   r   )r   r   r   r   r   s    `  @r
   r   r      s;    G8*IhZq1G
 66'46Lr   c                 b    |dd d d}fd}t        j                  |||       } | S )Nr+   r   r   r   c                     d d d   d d d d   d| j                  d       d d	 d
}t        t              dz         dk(  r	ddz  |S dk(  rddz  |S )Nr   r   r   r   r   r   r   r+   r   r   zr#   Zr&   )r-   chrord)r.   r   r   metacounterr   s     r
   r   zreplace_tag_alph.<locals>.repl   s1   (2hZ/A(K=Y`Xaacdkcllnownx  yA  BJ  AK  K`  ai  `j  kv  jw  x  w@  @B  CH  CN  CN  OP  CQ  BR  RT  U]  T^  ^i  jr  is  st  uc'lQ&'c>G1K  ^G!OKr   r   )r   r   startr   r   r   r   s    `   @@r
   r   r      s@    GK8*IhZq1G
 66'46Lr   c                     ddk(  rddn<dk(  rddn2dk(  rddn(d	k(  rd
dndk(  r|dd|z   dz   ndk(  rddn| S d d d}fd}t        j                  |||       } | S )Nr+   z
fac-similez	&#128366;zin-dex class="person"Pzin-dexzin-dex class="institution"rL   zin-dex class="location"Lzin-dex class="doc"zin-dex class="doc" data-cat=""z	loc-ationr'   r   r   r   c                     d d d   d d d d   d| j                  d       d d	 d
}dz  |S r   r,   )r.   r   r   labeltagr   s     r
   r   zreplace_tag_index.<locals>.repl   s    (2cU*<SE%	QSTYSZZ\]`\aaijmin  oD  EH  DI  JO  IP  QX  PY  Y[  \a  \g  \g  hi  \j  [k  km  nq  mr  r}  ~A  }B  BC  D1r   r   )r   r   data_catr   r   r   r   r   s    `   @@@r
   replace_tag_indexr      s    G<	,	,	1	1	.	.	)	)2X=C	[	  8*IcU!,G
 66'46Lr   c                 T    dfd}t        j                  d d||       } | S )Nr+   c                 D    d d  d d d d  d}dz  |S )Nr   r   r   r   r   z  data-fn="idr+    )r.   r   r   r   r   s     r
   r   zadd_tag_label.<locals>.repl   sj    (#5hZy5'QST\S]]efneoo|  ~F  }G  HO  GP  PR  S1r   r   r   r   )r   r   r   r   r   s    `` @r
   add_tag_labelr      s0    G
 66Qxj*D,?Lr   c                 n    g dddd d d}fd}t        j                  |||       } | S )N)
*u   †u   ‡   §   ¶#u   ♠u   ♥u   ♦u   ♣r+   r   r   r   r   c                     d d d  d d    d d d  d d    d	| j                  d
       d d d}d
z   t              k(  rdd
z   |S )Nr   r   r   r4   r   r   r   r   rm   r+   r   r   r   r-   r{   )r.   r   r   r   r   r   s     r
   r   z!replace_tag_symbols.<locals>.repl   s;   (2hZ/A(K=XYZ[Y\\^_fgh_i^jjlmulvv~  @H  I  I^  _g  ^h  it  hu  uv  wx  vy  y{  |C  DE  |F  {G  GH  IN  IT  IT  UV  IW  HX  XZ  [c  Zd  do  px  oy  yz  {aCGA%/Kr   r   )r   r   r   r   r   r   r   s    `  @@@r
   r   r      sE    NGK	A8*IhZq1G 66'46Lr   c                     dt        j                  d|       }|rt        |j                  d            fd}t        j                  d||       } | S )Nr   z8<set-counter data-counter="leseliste" data-value="(\d+)"r+   c                 f    dz  d| j                  d       d| j                  d       d d}|S )Nr+   z<rl-label id="z" data-tooltip="Internal ID = r   z</rl-label>r,   )r.   r   r   s     r
   r   z&add_all_to_reading_lists.<locals>.repl  sH    1&u{{1~&66TUZU`U`abUcTddfgnfooz{r   z <rl-label id="(.*?)"></rl-label>)r   searchrB   r-   r   )r   resetr   r   s      @r
   add_all_to_reading_listsr     sO    GIIQS_`Eekk!n%
 66=t\RLr   c                     d}d }t        j                  |||       } d}d }t        j                  |||       } d}d }t        j                  |||       } | S )NzU<time class="diary-entry" data-type="(.*?)" datetime="(.*?)" id="(.*?)">(.*?)<\/time>c                 &   | j                  d      j                  d      }d|d    d| j                  d       d}t        j                  j	                  |      rd| d| j                  d	       d
| j                  d       dt        | j                  d             d| j                  d       dt        | j                  d      | j                  d	             d| j                  d       d}|S d| j                  d	       d
| j                  d       dt        | j                  d             d| j                  d       dt        | j                  d      | j                  d	             d| j                  d       d}t        d| d       |S )Nr5   r4   zentries/r   z/entry-.htmlz<a class="entryfile" href="z'"><time class="diary-entry" data-type="r+   " datetime="z" data-tooltip="z" id="r\   r   rm   r]   z</time></a>z?<a class="entryfile" href><time class="diary-entry" data-type="z</time>z	WARNING: z does not seem to exist!)r-   r@   ospathisfilerp   ry   rD   )r.   rF   r   r   s       r
   r   zfill_time_tags.<locals>.repl  s   kk!n""3'#a&Q(8>77>>$7v=dejepepqresdt  uA  BG  BM  BM  NO  BP  AQ  Qa  bk  lq  lw  lw  xy  lz  b{  a|  |B  CH  CN  CN  OP  CQ  BR  RT  U^  _d  _j  _j  kl  _m  ns  ny  ny  z{  n|  U}  T~  ~  @E  @K  @K  LM  @N  O  OZ  [K  \\a\g\ghi\j[kkwx}  yD  yD  EF  yG  xH  HX  Yb  ch  cn  cn  op  cq  Yr  Xs  sy  z  zE  zE  FG  zH  yI  IK  LU  V[  Va  Va  bc  Vd  ej  ep  ep  qr  es  Lt  Ku  uv  w|  wB  wB  CD  wE  vF  FM  NKIdV#;<=r   zK<time class="diary-entry" data-type="(long|llong)" datetime="(\d*-\d*-\d*)"c           
          t        | j                  d            }d| j                  d       d| d| j                  d       d| j                  d       d	}|S )Nr5   <diary-month id="month-id:r   z3</diary-month><time class="diary-entry" data-type="r+   r   r   r   r-   r.   monthr   s      r
   repllzfill_time_tags.<locals>.repll'  s    5;;q>*25;;q>2B"UGK~  @E  @K  @K  LM  @N  O  O[  \a  \g  \g  hi  \j  [k  kl  mr   zC<time class="diary-entry" data-type="normal" datetime="(\d*-\d*-1)"c                     t        | j                  d            }d| j                  d       d| d| j                  d       d}|S )Nr+   r   r   zE</diary-month><time class="diary-entry" data-type="normal" datetime="r   r   r   s      r
   replllzfill_time_tags.<locals>.replll.  sp    5;;q>*25;;q>2B"UG  LQ  RW  R]  R]  ^_  R`  Qa  ab  cr   r   )r   r   r   r   r   s        r
   fill_time_tagsr     se    fG 66'46L \G 66'5,7LSG 66'6<8Lr   c           	      ^    d d d d d	}fd}t        j                  |||       } | S )Nr   z	-mark><\/z-mark>([\s\S]*?)<z-text>(.*?)<\/z-text>c           
      `    d d| j                  d       d d| j                  d       }|S )Nr   r   r5   r   r+   r,   )r.   r   r   s     r
   r   z!merge_mark_and_text.<locals>.repl;  s9    (1U[[^$4Bxj%++a.AQRr   r   )r   r   r   r   s    `  r
   merge_mark_and_textr   7  sF    8*IhZ/@
.YaXbbhiG 66'46Lr   c                 V   d}t        |      dk(  r|j                         r d}t        |      }dt        |      cxk  rdk  rn nt        j                  dd| d      } nd	t        |      cxk  rd
k  rn nt        j                  dd| d      } n[dt        |      cxk  rdk  rn nt        j                  dd| d      } n*dt        |      cxk  rdk  rn nt        j                  dd| d      } ndt        |      cxk  rdk  rn nt        j                  dd| d      } n|dd dk(  rd}t        |dd       }t        |d	d       }d| d| }t        j                  dd| d| d      } t        j                  d d!| d      } d"| d| }t        j
                  d#|       }|rH|j                  d      d$k(  s4t        j                  d%d&| d'|       } nt        j                  d d!| d      } dg d(}|D ]"  fd)}	t        j                  d* |	|       } $ t        j                  d+|       }
d,}t        |
      dkD  ryd-}|
D ]7  }|d   d$k(  r|d   d.k(  rd,}n|d   d/k(  rd0}nd1}|d2|d    d3| |d4    d5z  }9 |d6z  }t        j                  d7d8| |       } d9 }	t        j                  d:|	|       } | S |dk(  rRt        j                  d;|       }
d-}|
D ]  }|d2|d    d3|d    d5z  } |d6z  }t        j                  d7d8| |       } | S t        j                  d<d=|       } | S )>Nletterr5   diarychapterr      z <a class="chapterup" href=".*?">zk<a class="chapterup" href="https://valep.vc.univie.ac.at/files/Tagebuecher/Tagebuecher_1908_bis_1919.html">r+      (   zk<a class="chapterup" href="https://valep.vc.univie.ac.at/files/Tagebuecher/Tagebuecher_1920_bis_1935.html">'   9   zk<a class="chapterup" href="https://valep.vc.univie.ac.at/files/Tagebuecher/Tagebuecher_1936_bis_1952.html">8   B   zk<a class="chapterup" href="https://valep.vc.univie.ac.at/files/Tagebuecher/Tagebuecher_1952_bis_1962.html">A   K   zk<a class="chapterup" href="https://valep.vc.univie.ac.at/files/Tagebuecher/Tagebuecher_1962_bis_1970.html">rd   Tagebuecherdiaryvolumere         uA   <i class="spaced">RUDOLF CARNAP</i>. Tagebücher und Leselisten. u   –z5<div class="menu-text" id="top-menu-text">(.*?)</div>z*<div class="menu-text" id="top-menu-text">z</div>z)<div class="jumpup" data-tooltip="go up">zE<div class="jumpup" data-tooltip="go up" style="visibility: hidden;">uI   <i class="spaced">RUDOLF CARNAP</i><br />Tagebücher und Leselisten<br />z<h1 class="(.*?)">volumez<div class="allcont">z*<div class="allcont">

<h1 class="volume">z</h1>)r+   r5   r\   r]   r^   r_   c                 *    d d d d}dz   |S )N<hz id="hz-id-r   r+   r   )r.   r   r   js     r
   r   zmake_title_toc.<locals>.replk  s,    qcs$qc3KAAr   r   z6<h([123]{1}) id="(.*?)".*?class="(.*?)".*?>(.*?)</h\1>r   z<p>12z&#8193;z&#8193;&#8193;z<a class="toc-link" href="#r   r\   z	</a><br>
z</p>z<div class="toc-dropdown">z<div class="toc-dropdown">
c           
          | j                  d      }t        |      dk(  rd|z   }d| d| j                  d       d| j                  d       d| j                  d       d		}|S )
Nr5   r+   0z<a class="chapterfile" href="z.html"><h1 id="z" class="diaries"><diary-no>z</diary-no>r\   z	</h1></a>r   )r.   chptr   s      r
   r   zmake_title_toc.<locals>.repl  s    ;;q>D4yA~Tz9$u{{[\~N^^z  |A  |G  |G  HI  |J  {K  KV  W\  Wb  Wb  cd  We  Vf  fo  pKr   zC<h1 id="(.*?)" class="diaries"><diary-no>(.*?)</diary-no>(.*?)</h1>z+<diary-month id="(.*?)">(.*?)</diary-month>z<div class="table-of-content">z8<div class="table-of-content" style="visibility:hidden">)r{   isdigitrB   r   r   r   r-   findall)r   	file_namedoc_typenvonbistitlefirst_titleheader_ranger   matchestocr.   indentr   r   s                 @@r
   make_title_tocr   C  sK    H
9~y002!	Ns1v??66"D  Fs  t@  AB  CL#a&266"D  Fs  t@  AB  CL#a&266"D  Fs  t@  AB  CL#a&266"D  Fs  t@  AB  CL#a&266"D  Fs  t@  AB  CL	1RM	) )Br"#)Br"#STWSXX[\_[`avvU  YC  DI  CJ  JP  WQ  R^  _`  avvI  KR  S_  `a  b[\_[``cdgchiii 4lC{003x?66"9=ijoippu;v  yE  FL vvI  KR  S_  `a  b 	
A L :	
 vv1#htL9: jjRT`aG
C
7|a 	^E8x'8s?F1X_&F-F4U1XJbq
R\]]	^ 	vvv:=YZ]Y^;_`lm	 vvdeijvw"  
^	#**K\Z 	RE0q
"U1XJjQQC	Rvvv:=YZ]Y^;_`lm 	 vv>?y  {G  H r   c                 j   d}dg}d}|dk  r7|dz  }|dk  r|j                  d|        n|j                  |        |dk  r7|D ]H  }	 t        | ddd	d
      5 }|j                         }d d d        j                  d|  d      dk\  r|}J |S # 1 sw Y   'xY w#  t	        d| d       Y lxY w)N00ru   r+   J   rc   r   r   rzutf-8r   )encodingnewline
id="entry-r   r   z.ERROR while searching for diary entries: File z.html could not be searched!)appendopenreadr   rD   )rE   chapterr   r   r   filefilecontents          r
   match_date_with_chapterr    s    GvHA
b&	Qr6OOasG$OOqc# b&  g	gencGRH *D"iik**XJa 89Q>g N* *	gB4&Hdefs$   
BB-"BB	BB2c                 J    |j                  d|  d      dk\  ryt        |       S )Nr   r   r   current)r   r  )rE   r   s     r
   get_diary_chapterr    s,    :hZq12a7&x00r   c                 @      fd}t        j                  d|         S )Nc                 (   t        | j                  d            }t        |      }t        |      }|dk(  rd| j                  d       d| d| d}|S |dk(  s#d| j                  d       d| d	| d
| d| d}|S d| j                  d       d}|S )Nr+   r  z<a class="diaryref" id="z" href="#entry-z" data-tooltip="Eintrag: z">R</a>r   z" href="z.html#entry-z!" data-tooltip="Eintrag: Kapitel z, z" style="display:none;"></a>)r}   r-   rp   r  )r.   rx   nicedater   r   r   s        r
   r   z&resolve_diary_references.<locals>.repl  s    %++a.)T?(l;9$4U[[^4DOTXSYYrs{r|  }D  EK
 	 %4U[[^4DH\NZfgkfl  mN  O[  N\  \^  _g  ^h  ho  pK  5U[[^4DD`aKr   z#<a class="diaryref" id="(.*?)"></a>r   )r   r   s   ` r
   resolve_diary_referencesr	    s#    
 66?|TLr   )normal)r   rA   r   r   r   r   r2   rI   rY   rk   rp   ry   r}   r   r   r   r   r   r   r   r   r   r   r   r   r  r  r	  r   r   r
   <module>r     s    	  	2:","J(B	Wt,1r   