Welcome To Our Shell

Mister Spy & Souheyl Bypass Shell

Current Path : /proc/thread-self/root/home/ift/52_procpy/park/

Linux ift1.ift-informatik.de 5.4.0-216-generic #236-Ubuntu SMP Fri Apr 11 19:53:21 UTC 2025 x86_64
Upload File :
Current File : //proc/thread-self/root/home/ift/52_procpy/park/publish_abrechnung.py

import os,re,sys,glob,time

#  Erstellt Monatsabrechnungen und publiziert sie

#  Grundsaetzlich werden alle Mandanten durchgegangen, optional kann aber ein Parameter angegeben werden,
#  der ein Pattern-Matching auf dem Namen des Mandanten macht.

#  Eingabeformat:  python3 -m publish_abrechnung.py <yy><m>         [<filter>]
#           oder:  python3 -m publish_abrechnung.py <yy><m1>-<m2>   [<filter>]
#           oder:  python3 -m publish_abrechnung.py <filter> <yy><m>
#           oder:  python3 -m publish_abrechnung.py <filter> <yy><m1>-<m2> 
#    Monatsangaben mit 0..9ABC (ein Zeichen)




filter = ""
try:
    filter = sys.argv[1]
except:
    filter = ""

endmonat = ""
try:
    endmonat = sys.argv[2]
except:
    endmonat = ""
    
    
m = re.search(r"^(\d\d.|\d\d.-.)$",filter)
if m:
    ee       = endmonat
    endmonat = filter
    filter   = ee
    
if endmonat == "":
    print("Endmonat muss angegeben werden (JJX)")
    exit()


if __name__ == "__main__":


    m = re.search(r"^(\d\d)(.)-(.)$",endmonat)
    if m:
        print(endmonat)
        endjahr   = m.group(1)
        endmonat1 = m.group(2)
        endmonat2 = m.group(3)
        endmonate = []
        for nr in ("1","2","3","4","5","6","7","8","9","A","B","C"):
#            print(nr)
            if len(endmonate) == 0:
                if nr == endmonat1:
                    endmonate = [endjahr+nr]
                else:
                    continue
            else:
                endmonate.append(endjahr+nr)
                if nr == endmonat2:
                    break
    else:
        endmonate = [endmonat]

    for endmonat in endmonate:

        monat1 = "20" + endmonat[0:2] + "_0" + endmonat[2]
        monat1 = re.sub(r"_0A","_10",monat1)
        monat1 = re.sub(r"_0B","_11",monat1)
        monat1 = re.sub(r"_0C","_12",monat1)

        if filter == "":
            mandanten = glob.glob("[a-z]*")
        else:
            mandanten = glob.glob(filter+"*")
            

        for mandant in mandanten:


            print(glob.glob(mandant+"/20_*"))
            os.system("cd " + glob.glob(mandant+"/20_*")[0] + "; python3 -m park.abrechnung abrechnung " + endmonat)

            x = glob.glob("/var/www/html/12park/web/report/*/."+mandant)
            if len(x) > 0:   #   nur, wenn das Mandantenverzeichnis gefunden wird
                m      = re.search(r"^(.*)[\\\/]\.[a-z]+$",x[0])
                ablage = m.group(1)  #  das ist das gefundene Verzeichnis, in das zu publizieren ist

                os.system("cp " + mandant + "/*/*report*"+monat1+"*md _tmp_; cd _tmp_; " +
                                      "python3 -m iftlib.md.gx md2svg *.md; cp *.pdf " + m.group(1))
                os.system("rm _tmp_/*report*;")
                time.sleep(0.1)
                for jahr in (2011,2012,2013,2014,2015,2016,2017,2018,2019,2020,
                             2021,2022,2023,2024,2025,2026,2027,2028,2029,2030,
                             2031,2032,2033,2034,2035,2036,2037,2038,2039,2040,
                             2041,2042,2043,2044,2045,2046,2047,2048,2049,2050,
                             2051,2052,2053,2054,2055,2056,2057,2058,2059,2060):
                             
                    jahr1 = str(jahr)
                    x = glob.glob(ablage+"/*report*"+jahr1+"*pdf")
                    if len(x) == 12:
                        x1 = re.sub(r"_\d\d\.pdf",".pdf",x[0])
                        os.system("cd " + ablage + "; pdftk *report*"+jahr1+"*pdf output " + x1)
                        for x2 in x:
                            os.unlink(x2)
                        time.sleep(0.1)
                
#    os.system("rm -r _tmp_")



#    for p in pp.keys():
#        os.system("cd " + p + "; yy")
            

bypass 1.0, Devloped By El Moujahidin (the source has been moved and devloped)
Email: contact@elmoujehidin.net bypass 1.0, Devloped By El Moujahidin (the source has been moved and devloped) Email: contact@elmoujehidin.net