Welcome To Our Shell

Mister Spy & Souheyl Bypass Shell

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

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/dataninja/test/magicmerge.py

#  coding: utf8

import os,re,sys
import iftlib
import procpy.magicmerge
import pdb

#**************************************************************************

class Magicmerge (object):

    def __init__ (self,*pars):
        
        self.__class__.__dict__[pars[0]](self,pars[1:])

#**************************************************************************        

    def test01a (self,*pars):

        mm = procpy.magicmerge.Magicmerge()

#        list1 = [([1,"b"],[1,"b"]),([2,"b"],[2,"b"]),([4,"b"],[7,"b"])]
#        list2 = [([1,"a"],[6,"a"]),([2,"a"],[5,"a"]),([3,"a"],[5,"a"]),([4,"b"],[7,"b"])]
#        list3 = [([4,"a"],[4,"a"]),([3,"a"],[5,"a"]),([5,"a"],[4,"a"]),([1,"a"],[4,"a"]) ]
#        mm.sync_lists2(list3, 0, list1,[0],list2,[0])
        list1 = [(["xys"],[1]),(["qwe"],[2]),(["999"],[])]
        list2 = [(["xys"],[6]),(["qwe"],[5]),(["999"],[5]),(["%"],[7])]
        list3 = [(["%"],[4]),(["qwe"],[5]),(["po"],[4]),(["xys"],[4]) ]
#        list1 = [(["a"],[1]),(["b"],[2]),(["d"],[])]
#        list2 = [(["a"],[6]),(["b"],[5]),(["c"],[5]),(["d"],[7]),(["e"],[7])]
#        list3 = [(["e"],[7]),(["a"],[5]),(["f"],[7]),(["b"],[6]),(["d"],[5]) ]
        mm.sync_lists2(list3, 0, list1,[0],list2,[0])
#        result = mm.merge_objects(list3,list1,list2)
        print(list1)
        print(list2)
        print(list3)
#        print result
#**************************************************************************        

    def test01b (self,*pars):

        lista=[[None,None],[None,None]]
        listb=[[None,None],["a",None]]
        dicta = {"a":None,"b":None}
        dictb = {"a":None,"b":3}

        mm = procpy.magicmerge.Magicmerge()
#        print mm.is_element_None(lista)
#        print mm.is_element_None(listb)
        print(mm.is_element_None(dicta))
        print(mm.is_element_None(dictb))
#**************************************************************************        

    def test01 (self,*pars):

        mm = procpy.magicmerge.Magicmerge()

        list1 = [(1,1),(2,2),(3,7),(4,5),(5,6),(6,6)]
        list2 = [(1,6),(2,5),(3,5),(4,2),(5,3),(6,1),(7,1)]
#        list1 = [([1,"b"],[1,"b"]),([2,"b"],[2,"b"]),([3,"b"],[7,"b"]),([4,"b"],[5,"b"]),([5,"b"],[6,"a"]),([6,"b"],[6,"a"])]
#        list2 = [([1,"a"],[6,"a"]),([2,"a"],[5,"a"]),([3,"a"],[5,"a"]),([4,"a"],[2,"a"]),([5,"a"],[3,"a"]),([6,"a"],[1,"a"]),([7,"a"],[1,"a"])]
 
        mm.sync_lists(list2,[0],list1,[0])

        print(list1)
        print(list2)
    
#**************************************************************************        

    def test02 (self,*pars):

        import glob, openpyxl
        mm    = procpy.magicmerge.Magicmerge()
        xfile = "test1.xlsx"
        print(xfile)
        list1 = list(openpyxl.load_workbook(xfile).get_sheet_by_name("xls").values)
        print(list1)

#**************************************************************************        

    def test03 (self, *pars):

        wb1 = sys.argv[2]
        wb2 = sys.argv[3]
        wb_orig = sys.argv[4]

        import openpyxl
        from openpyxl.styles import Font, PatternFill
        mm    = procpy.magicmerge.Magicmerge()


        # get excel data ######################################
        count=0
        for file in [wb1, wb2, wb_orig]:
            wb     = openpyxl.load_workbook(file)
            sheet1 = []
            row_format = []
            col_format = []

            if len(sys.argv)>5:
                sheetname = sys.argv[5]
            else:
                sheetname = wb.get_sheet_names()[0] 

            sheet  = wb.get_sheet_by_name(sheetname)
            for row in range(1,sheet.max_row+1):
                row_tuple = []
                row1 = sheet.row_dimensions[row]

                for col in range(1,sheet.max_column+1):
                    cell_list = [sheet.cell(row=row, column = col).value]
                    # create font object
                    font = Font(b=sheet.cell(row=row, column = col).font.b, 
                                i=sheet.cell(row=row, column = col).font.i, 
                                color = sheet.cell(row=row, column = col).font.color)
                    cell_list.append(font)
                    fill = PatternFill(start_color = sheet.cell(row=row, column = col).fill.fgColor,
                                       end_color = sheet.cell(row=row, column = col).fill.fgColor,
                                       fill_type = sheet.cell(row=row, column = col).fill.fill_type)
                    cell_list.append(fill)
                    row_tuple.append(cell_list)
                sheet1.append(row_tuple)
            exec("data"+str(count)+" = sheet1 ")  
            count += 1 



        print("size data0: "+str((len(data0),len(data0[0]))))
        print("size data1: "+str((len(data1),len(data1[0]))))
        print("size data2: "+str((len(data2),len(data2[0]))))
#        print  "data0: "+str(data0)
#        print  "data1: "+str(data1)
#        print  "data2: "+str(data2)

        # synchronize lists ###################################
#        [ii,jj] = mm.find_col() # not implemented yet - find best columns for sorting
        mm.sync_lists2(data0, 0, data1, [0], data2, [0])        

        print("size data0: "+str((len(data0),len(data0[0]))))
        print("size data1: "+str((len(data1),len(data1[0]))))
        print("size data2: "+str((len(data2),len(data2[0]))))

        # transpose the arrays ################################
        data0 = [list(i) for i in zip(*data0)]
        data1 = [list(i) for i in zip(*data1)]
        data2 = [list(i) for i in zip(*data2)]

        # synchronize transposed lists ########################
#        [ii,jj] = mm.find_col() # not implemented yet - find best columns for sorting
        mm.sync_lists2(data0, 0, data1, [0], data2, [0])        

        print("size data0: "+str((len(data0),len(data0[0]))))
        print("size data1: "+str((len(data1),len(data1[0]))))
        print("size data2: "+str((len(data2),len(data2[0]))))

        # transpose the arrays ################################
        data0 = [list(i) for i in zip(*data0)]
        data1 = [list(i) for i in zip(*data1)]
        data2 = [list(i) for i in zip(*data2)]


        # merge (three ways) ##################################
        result = mm.merge_objects(data0,data1,data2)
        # remove empty rows and cols ##########################
        mm.remove_empty_rows(result)
        result = [list(i) for i in zip(*result)]
        mm.remove_empty_rows(result)
        result = [list(i) for i in zip(*result)]

#        for row in result:
#            print [i[0] for i in row]
        # export the result ####################################
        wb = openpyxl.Workbook()
        ws = wb.active
        for i in range(len(result)):
             for j in range(len(result[i])):
                 ws.cell(row=i+1, column=j+1).value = result[i][j][0]
                 if result[i][j][1]:
                     ws.cell(row=i+1, column=j+1).font = result[i][j][1]
                 if result[i][j][2]:
                     ws.cell(row=i+1, column=j+1).fill = result[i][j][2]
                 
        wb.save("test_result.xlsx")	
 
#**************************************************************************        

if __name__ == "__main__":
    
    Magicmerge(*tuple(sys.argv[1:]))

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