def replymsg(driver, data): num = numbers.normalize(data[0]) main(num) bkd.mail( kelas.getEmailDosen(kelas.getKodeDosen(num)), f'yooo watsapppp mennnnn {config.bot_name} kirim file BERITA ACARA PITAK nihhhh', f'cek cek dulu ya filenya.....', bkd.getFilePath(kelas.getEmailDosen(kelas.getKodeDosen(num)), 'beritaacarapitak')) msgreply = f"Sampun yo.. coba cek emailnyaa yaaa yang {kelas.getEmailDosen(kelas.getKodeDosen(num))}" return msgreply
def replymsg(driver, data): ssl._create_default_https_context = ssl._create_unverified_context num = numbers.normalize(data[0]) tipe_bimbingan = cek_bimbingan_dosen.cekTipeBimbingan(data[3]) main(num, tipe_bimbingan) bkd.mail( kelas.getEmailDosen(kelas.getKodeDosen(num)), f'yooo watsapppp mennnnn {config.bot_name} kirim file BERITA ACARA PITAK nihhhh', f'cek cek dulu ya filenya.....', bkd.getFilePath(kelas.getEmailDosen(kelas.getKodeDosen(num)), 'beritaacarapitak', kelas.getTahunID())) msgreply = f"Sampun yo.. coba cek emailnyaa yaaa yang {kelas.getEmailDosen(kelas.getKodeDosen(num))}" return msgreply
def replymsg(driver, data): if kelas.cekSiap(): kodedosen = kelas.getKodeDosen(data[0]) wmsg = reply.getWaitingMessage( os.path.basename(__file__).split('.')[0]) wmsg = wmsg.replace('#EMAIL#', kelas.getEmailDosen(kodedosen)) wmsg = wmsg.replace('#BOTNAME#', config.bot_name) wa.typeAndSendMessage(driver, wmsg) msg = data[3].lower() try: data = f"{kelas.getEmailDosen(kodedosen)};{[npm for npm in msg.split(' ') if npm.isdigit() and len(npm) == 7][0]}" subprocess.Popen([ "python", "run.py", os.path.basename(__file__).split('.')[0], data ], cwd=config.cwd) except Exception as e: wa.typeAndSendMessage( driver, 'Mimpam zuzuzu.. anda salah keyword...' + str(e)) else: wa.typeAndSendMessage( driver, 'Mohon maaf server Akademik SIAP sedang dalam kondisi DOWN, mohon untuk menginformasikan ke ADMIN dan tunggu hingga beberapa menit kemudian, lalu ulangi kembali, terima kasih....' ) return ''
def replymsg(driver, data): if kelas.cekSiap(): num = numbers.normalize(data[0]) tahunID = '20192' msg = data[3].lower().split(' ') msgreply = "" try: if kelas.getKodeDosen(num): dosenID = kelas.getKodeDosen(num) email = kelas.getEmailDosen(dosenID) wmsg = reply.getWaitingMessage(os.path.basename(__file__).split('.')[0]) wmsg = wmsg.replace('#EMAIL#', email) wmsg = wmsg.replace('#BOTNAME#', config.bot_name) wa.typeAndSendMessage(driver, wmsg) tipe = 'ta' df = pd.read_excel(f'jadwal_sidang_ta_14.xlsx') listPem = ['koor', 'tipe', 'tahun'] df = df.loc[:, listPem] df = df.drop_duplicates() df = df.loc[(df["koor"] == dosenID) & (df["tipe"] == tipe) & (df["tahun"] == int(tahunID))] if df.empty: msgreply = "Harus koornya cuy ato Anda salah tipe sidang..." else: if checkStatusSidangKoor(dosenID, tahunID, tipe): data = f"{'dosen'};{dosenID};{tahunID};{email};{tipe}" subprocess.Popen(["python", "run.py", os.path.basename(__file__).split('.')[0],data], cwd=config.cwd) msgreply = "" else: msgreply = "Blm ada tuh..." elif kelas.getNpmandNameMahasiswa(num): try: npm, nama=kelas.getNpmandNameMahasiswa(num) email = getEmail(npm) wmsg = reply.getWaitingMessage(os.path.basename(__file__).split('.')[0]) wmsg = wmsg.replace('#EMAIL#', email) wmsg = wmsg.replace('#BOTNAME#', config.bot_name) wa.typeAndSendMessage(driver, wmsg) kategori = getKategoriSidang(npm, tahunID) if checkRevisiStatus(npm, tahunID): if checkStatusSidang(npm, tahunID, kategori): email = getEmail(npm) data = f"{'mahasiswa'};{npm};{tahunID};{email};{kategori}" subprocess.Popen(["python", "run.py", os.path.basename(__file__).split('.')[0],data], cwd=config.cwd) msgreply = "" else: msgreply = "Approve dulu dari semuanya pembimbing, penguji, koordinator, kaprodi..." else: msgreply = "Approve dulu dari semuanya kedua penguji..." except Exception as e: msgreply = f"Errornya: {str(e)}" else: msgreply = f"Hayoo siapa kamu" except Exception as e: msgreply = f'Wadaw.. anda salah keyword... {str(e)}' else: wa.typeAndSendMessage( driver, 'Mohon maaf server Akademik SIAP sedang dalam kondisi DOWN, mohon untuk menginformasikan ke ADMIN dan tunggu hingga beberapa menit kemudian, lalu ulangi kembali, terima kasih....') return msgreply
def mainPages(kode_dosen, prodi_id, nama_dosen, km_npm, nama_prodi, tipe_kelas, catatan, group_name, jmlPesertaPerwalian): checkDir() namaFile = f"surat_perwalian/SURAT-PERWALIAN-{kode_dosen}-{kelas.getTahunID()}-{prodi_id}-{tipe_kelas}-{kelas.getEmailDosen(kode_dosen)}.pdf" # check dir qrcode checkDirQrcode() # generate dosen barcode link = makeLinkVerifiy(kode_dosen) makeQrcodeLinkVerifySign(link, 'dosen', kode_dosen) # generate km barcode link = makeLinkVerifiy(km_npm) makeQrcodeLinkVerifySign(link, 'km', kode_dosen) # generate kaprodi barcode # kaprodinipycode = bkd.getNipyKaProdi(prodi_id) # kaprodiDosenID = bkd.getDosenIDfromNIPY(kaprodinipycode) # link = makeLinkVerifiy(kaprodiDosenID) # makeQrcodeLinkVerifySign(link, 'kaprodi', kode_dosen) # generate deputi barcode # deputinipycode = bkd.getNipyDeputi(9) # deputiDosenID = bkd.getDosenIDfromNIPY(deputinipycode) # link = makeLinkVerifiy(deputiDosenID) # makeQrcodeLinkVerifySign(link, 'deputi', kode_dosen) masukan = catatanToList(catatan) # namaDeputi = nama_deputi # namaKaprodi = nama_kaprodi prodi = nama_prodi listMahasiswa = hadirAbsensiData(group_name, 'daring', kode_dosen) jumlahMhs = jmlPesertaPerwalian jumlahHadir = len(listMahasiswa) jumlahTdkHadir = jumlahMhs - jumlahHadir cekPerwalianLog(kode_dosen, prodi_id, kelas.getTahunID(), group_name, jumlahMhs, jumlahHadir, jumlahTdkHadir, catatan) # statusappove=cekStatusApprovePerwalian(kode_dosen, kelas.getTahunID()) qrWhiteImage = 'bkdqrcode/whiteimage.png' # if statusappove[1] == 'true': # qrDeputi = f'surat_perwalian_qrcode/deputiqrcode-{kelas.getTahunID()}-{kode_dosen}.png' # # qrKaprodi = 'bkdqrcode/whiteimage.png' # if statusappove[0] == 'true': # qrKaprodi = f'surat_perwalian_qrcode/kaprodiqrcode-{kelas.getTahunID()}-{kode_dosen}.png' qrKm = f'surat_perwalian_qrcode/kmqrcode-{kelas.getTahunID()}-{kode_dosen}.png' qrDosen = f'surat_perwalian_qrcode/dosenqrcode-{kelas.getTahunID()}-{kode_dosen}.png' tahunAkademik = f'{int(kelas.getTahunID()[:-1])} - {int(kelas.getTahunID()[:-1]) + 1}' hariSekarang = daysEnToInd(datetime.now().strftime('%A')) tglSekarang = bkd.sahTanggal() listMasukan = masukan doc = SimpleDocTemplate(namaFile, pagesize=A4, rightMargin=2.5 * cm, leftMargin=2.5 * cm, topMargin=2.5 * cm, bottomMargin=2.5 * cm) contain = [] styles = getSampleStyleSheet() styles.add( ParagraphStyle(name='Justify', alignment=TA_JUSTIFY, fontName='Times', fontSize=12)) styles.add( ParagraphStyle(name='Center', alignment=TA_CENTER, fontName='Times')) createBeritaAcaraPage(contain, styles, tahunAkademik, hariSekarang, tglSekarang, kode_dosen, prodi, tipe_kelas, jumlahMhs, jumlahHadir, jumlahTdkHadir, listMasukan, qrKm, qrWhiteImage, qrDosen, kelas.getStudentNameOnly(km_npm)) createAbsensiPage(contain, styles, kode_dosen, prodi, tipe_kelas, listMahasiswa, qrWhiteImage, qrDosen) doc.build(contain) bkd.mail( kelas.getEmailDosen(kode_dosen), f'alooooo {config.bot_name} kirim file Absensi Perwalian NICHHHHHHH', f'Tolong dicek kembali yaaa datanya, dan jangan lupa buruann minta approvalnya ke KAPRODI dan DEPUTI yaa....', bkd.getFilePath(kelas.getEmailDosen(kode_dosen), 'surat_perwalian', kelas.getTahunID()))
def cekKodeDosen(msg): msgs = msg.split(' ') for i in msgs: if kelas.getEmailDosen(i): return i return False