انجمن‌های فارسی اوبونتو

لطفاً به انجمن‌ها وارد شده و یا جهت ورود ثبت‌نام نمائید

لطفاً جهت ورود نام کاربری و رمز عبورتان را وارد نمائید


ارائه ۲۴٫۱۰ اوبونتو منتشر شد 🎉

نویسنده موضوع: کلکسیونر اسکریپت  (دفعات بازدید: 5625 بار)

0 کاربر و 1 مهمان درحال مشاهده موضوع.

آفلاین محمدامین

  • Full Member
  • *
  • ارسال: 208
  • جنسیت : پسر
کلکسیونر اسکریپت
« : 17 تیر 1393، 01:09 ب‌ظ »
سلام.
مطمئناٌ خیلی ها این‌جا دست به کدشون عالیه و اسکریپت هایی نوشتن که به‌درد خیلی‌ها می‌خوره.
هدف از ایجاد این تاپیک این بود که هرکسی که دلش خواست بیاد کد هایی رو که نوشته با مجوز GNU GPL این‌جا منتشر کنه تا بقیه استفاده کنن.
از اسکریپت کم و زیاد کردن کلاک CPU گرفته تا یه بازی تحت GTK!

توجه: لطفا اگر می‌خوایید اسکریپت بذارید پست بفرستید و سؤال نپرسید تا تاپیک منسجم بمونه. ممنون.
اگر هم سؤالی به ذهنتون اومده، می‌تونید اون رو این‌جا مطرح کنید. (با تشکر از دوست خوبم 2020s1371)
« آخرین ویرایش: 19 تیر 1393، 03:07 ق‌ظ توسط mamins1376 »

آفلاین محمدامین

  • Full Member
  • *
  • ارسال: 208
  • جنسیت : پسر
پاسخ : کلکسیونر اسکریپت
« پاسخ #1 : 17 تیر 1393، 01:21 ب‌ظ »
خوب اولین قدم رو خودم بر می‌دارم.
مجموع چند تا شِل اسکریپت رو لینک کردم. این‌ها برای دانلود شبانه هستند. یک فایل README فارسی داخلش گذاشتم که اگه طبق اون پیش برید میتونه:
۱- کامپیوتر رو سر ساعت روشن کنه
۲- لینک‌هایی رو که بهش میدید دانلود کنه
۳- سیستم رو خاموش کنه
که این آخریه در دوحالت ممکنه اتفاق بیوفته: یا دانلودها تموم بشن یا ساعت دانلود رایگان تموم بشه که در این صورت شب بعد دوباره سیستم روشن می‌شه و دانلودها رو ادامه می‌ده.
واضحه که برای اونایی که اینترنت نامحدود دارند فقط یه تفریحه! ولی من با این هرشب حدود ۴-۶ گیگ دانلود می‌کنم.

لینک: https://drive.google.com/file/d/0B2_tmNlUxrT-aEs1eHRqV1lfemM/edit?usp=sharing

آفلاین HSN6

  • Hero Member
  • *
  • ارسال: 866
  • جنسیت : پسر
  • یک راَکتیست اسپرانتیست پایتونیست گودوئیست!
    • بلاگ شخصی
پاسخ : کلکسیونر اسکریپت
« پاسخ #2 : 17 تیر 1393، 01:56 ب‌ظ »
اینو همین چند روز پیش نوشتم. هر‌ ۲۰ دقیقه یک‌بار پیام می‌ده خستگی‌تو بگیر !
من معمولاً بعد از ۸-۹ ساعت مداوم ، در اواخر شب حالت تهوع و لرزش و سرد شدن بدن و ... بهِم دست می‌ده !!

while sleep 20m;
do
    xmessage 'rest now' -c;
done

آفلاین محمدامین

  • Full Member
  • *
  • ارسال: 208
  • جنسیت : پسر
پاسخ : کلکسیونر اسکریپت
« پاسخ #3 : 17 تیر 1393، 03:08 ب‌ظ »
اسم پکیج هایی رو که میخواید بهش میدید و اون لینکهای دانلود رو بهتون میده.
#!/bin/sh
apt-get --print-uris -y install $* | sed -e "s/' /\n/" -e "s/'//" | grep http
در ضمن sudo هم نمیخواد. بعد میشه پکیج ها رو با خیال راحت با dpkg نصب کرد. واسهی کار افلاین خیلی خوبه.
« آخرین ویرایش: 17 تیر 1393، 05:27 ب‌ظ توسط mamins1376 »

آفلاین B

  • Sr. Member
  • *
  • ارسال: 354
  • جنسیت : پسر
پاسخ : کلکسیونر اسکریپت
« پاسخ #4 : 17 تیر 1393، 05:08 ب‌ظ »
مثلا یه قسمت از اسم یه برنامه رو میدونید ولی نام کاملشو نمیدونید!
میتونید با با عبارات باقاعده توی کل برنامه‌های سیستم اونو سرچ کنید

#!/bin/bash
ls $(echo -e ${PATH//://"\n"})|grep -Ei $1


مثلا میدونم برنامه ای با fire شروع میشه ولی نمیدونم در ادامه چی داره!
مینوسیتم:
./search "^fire*"

فکر میکنم به برنامه داخل لینوکس یاشه که همچنی کاری میکنه ولی خب اینم لذت داره :D
« آخرین ویرایش: 17 تیر 1393، 07:15 ب‌ظ توسط B »

آفلاین احسان☺ -

  • Hero Member
  • *
  • ارسال: 937
  • جنسیت : پسر
  • !no power geek
پاسخ : کلکسیونر اسکریپت
« پاسخ #5 : 17 تیر 1393، 06:59 ب‌ظ »
چند وقت پیش میخواستم تعدادی فایل رو تبدیل کنم.ولی کی میخواست دستی بزنه این همه اسم رو؟:)(flv به mp4 با اندازه اختصاصی)
#!/bin/bash
ls>ls.txt
cat ls.txt | grep .flv>ls2.txt
rm ls.txt
echo "please enter the following value:"
wc -l ls2.txt
read a
while [ $a -gt 0 ] ; do
tmp=$(tail -n 1 ls2.txt)
arista-transcode -d new -p new $tmp -o $tmp."mp4"
sed -i '$d' ls2.txt
let a=a-1
done
rm ls2.txt
echo "Successfully done"
با یه کم دستکاری احتمالا بهتر میشه و میشه برای کار های دیگه هم ازش استفاده کرد.

آفلاین محمدامین

  • Full Member
  • *
  • ارسال: 208
  • جنسیت : پسر
پاسخ : کلکسیونر اسکریپت
« پاسخ #6 : 19 تیر 1393، 03:19 ق‌ظ »
این یک برنامه‌ی ساده که اعدادی رو میابه که حاصل ضربشون برابر عددیه که بعنوان آرگومان اول بهش می‌دید.
چون یخورده طولانی بود ضمیمش کردم(برای این‌که بتونم آپلود کنم باید پسوندش رو عوض می‌کردم ;D)
./script 43952خروجی:
2 times 21976
4 times 10988
8 times 5494
16 times 2747
41 times 1072
67 times 656
82 times 536
134 times 328
164 times 268

امیدوارم بشه بهینه‌سازیش کرد تا سریع شه.

آفلاین B

  • Sr. Member
  • *
  • ارسال: 354
  • جنسیت : پسر
پاسخ : کلکسیونر اسکریپت
« پاسخ #7 : 19 تیر 1393، 05:21 ب‌ظ »
GeoIP  - پیدا کردن کشور آیپی مورد نظر  - اطلاعات بیشتر


i=`echo $1|awk -F. '{print $1*(2**24)+$2*(2**16)+$3*(2**8)+$4*(2**0)}'`

cat GeoIPCountryWhois.csv  |cut -d, -f3-6|sed 's/"//g' | awk -F, -v i=$i '($1<=i && $2 >= i ){print $4}'

باید فایل GeoIPCountryWhois هم کنار این برنامه قرار بدید

دانلود از اینجا

مثال:
./search 174.142.150.198
Canada


آفلاین B

  • Sr. Member
  • *
  • ارسال: 354
  • جنسیت : پسر
پاسخ : کلکسیونر اسکریپت
« پاسخ #8 : 20 تیر 1393، 12:14 ب‌ظ »
سوال: یه برنامه‌ا (اسکریپت)ی می‌خوام که محتوای تمام پرونده‌ها را در این پوشه بگرده و هر عبارت به یکی از شکل‌های ‎0abcdefg***‎ و ‎+98abcdefg***‎ و ‎0098abcdefg***‎ هست پیدا کنه و به ‎0hijklmn***‎ تبدیل کنه. - لینک سوال



جواب: - لینک جواب

#!/bin/bash
#babyy
#iranled.com/forum

IFS="
"

DIR="/tmp/ss/f/"

files=($(grep -E "0abcdefg|\+98abcdefg|0098abcdefg" -l -r ${DIR}*))

for file in ${files[@]}
do
echo "IN '$file'"
sed  -i \
-e 's/0abcdefg/‎0hijklmn/' \
-e 's/\+98abcdefg/‎0hijklmn/' \
-e 's/0098abcdefg/‎0hijklmn/' \
"$file"

done

آفلاین Asghar0077

  • Jr. Member
  • *
  • ارسال: 73
پاسخ : کلکسیونر اسکریپت
« پاسخ #9 : 22 تیر 1393، 07:37 ب‌ظ »
نقل‌قول
یاد کد هایی رو که نوشته با مجوز GNU GPL این‌جا منتشر کنه

این قسمتش باب میل خیلیا (من جمله خودم) نیست که زور کنید چه مجوزی داشته باشه! «مجوز آزاد» به تنهایی کافیه :)

آفلاین nixoeen

  • ناظر انجمن
  • *
  • ارسال: 4872
  • جنسیت : پسر
  • masoft قدیم
پاسخ : کلکسیونر اسکریپت
« پاسخ #10 : 22 تیر 1393، 08:19 ب‌ظ »
این قسمتش باب میل خیلیا (من جمله خودم) نیست که زور کنید چه مجوزی داشته باشه! «مجوز آزاد» به تنهایی کافیه :)
مجوز آزاد معنی نداره، باید دقیقا بیان بشه چه مجوزی. برای مثال می‌شه گفت اون‌ها رو به صورت Public Domain منتشر می‌کنیم که احتمالا برای چنین تاپیکی بهتر از GPL هستش.

آفلاین Asghar0077

  • Jr. Member
  • *
  • ارسال: 73
پاسخ : کلکسیونر اسکریپت
« پاسخ #11 : 22 تیر 1393، 10:47 ب‌ظ »
این قسمتش باب میل خیلیا (من جمله خودم) نیست که زور کنید چه مجوزی داشته باشه! «مجوز آزاد» به تنهایی کافیه :)
مجوز آزاد معنی نداره، باید دقیقا بیان بشه چه مجوزی. برای مثال می‌شه گفت اون‌ها رو به صورت Public Domain منتشر می‌کنیم که احتمالا برای چنین تاپیکی بهتر از GPL هستش.

دوست من، این همه مجوز آزاد داریم، دوستمون میتونست بگه «یکی از مجوزهای آزاد» به انتخاب خودتون :)

آفلاین B

  • Sr. Member
  • *
  • ارسال: 354
  • جنسیت : پسر
پاسخ : کلکسیونر اسکریپت
« پاسخ #12 : 23 تیر 1393، 03:13 ق‌ظ »
این قسمتش باب میل خیلیا (من جمله خودم) نیست که زور کنید چه مجوزی داشته باشه! «مجوز آزاد» به تنهایی کافیه :)
مجوز آزاد معنی نداره، باید دقیقا بیان بشه چه مجوزی. برای مثال می‌شه گفت اون‌ها رو به صورت Public Domain منتشر می‌کنیم که احتمالا برای چنین تاپیکی بهتر از GPL هستش.

دوست من، این همه مجوز آزاد داریم، دوستمون میتونست بگه «یکی از مجوزهای آزاد» به انتخاب خودتون :)

خب شما برنامه‌هاتون رو با مجوز دلخواهتون بزارید :D
چه بحثیه آخه این الکی شلوغ میشه تاپیک! :D

-----
کلا چهار خط اسکریپت داریم میذاریم دیگه! پروژه ناسا رو که نذاشتیم :D

آفلاین علیرضاامیرصمیمی

  • ناظر انجمن
  • *
  • ارسال: 2489
  • جنسیت : پسر
  • Arch Linux + KDE
    • وبسایت شخصی من
پاسخ : کلکسیونر اسکریپت
« پاسخ #13 : 23 تیر 1393، 07:59 ق‌ظ »
این هم لینک github پروژه PersianDM که یه رابط گرافیکی ساده هست برای aria2 که با Bash نوشته شده
https://github.com/alireza-amirsamimi/persiandm
مجوز GPL
امیدوارم که به دوستان عزیز بتونه کمک کنه :)

آفلاین Hostile

  • Jr. Member
  • *
  • ارسال: 51
  • جنسیت : پسر
  • زنده باد زندگی
پاسخ : کلکسیونر اسکریپت
« پاسخ #14 : 28 تیر 1393، 09:23 ب‌ظ »
ای آقا !!!
شما که به سوالات من جواب ندادین :|‌
:|‌
:|

این جا ۲ تا اسکریپت داریم :|
برای تعمیر زیرنویس فارسی!
هر دو هم با پایتون !!

اما .....
یکی از wxpython استفاده میکنه :|
یکی از PyQt4 :|

سوالاتم در مورد درگ فایل در اینجا پاسخ داده نشد برای همین نتونستم قابلیت درگ رو اضافه کنم :|  :(
 >:(


PyQt4 Version

#!/usr/bin/env python

# -*- coding: utf-8 -*-
"""
Created on Sat Jul 19 14:23:23 2014

Project title  :  Persian Subtitle Fixer Powered By Python and PyQt4

Tested on : Gnu\\Linux Ubuntu 14.04 \ 13.04 \ 12.04  -  Gnu\\Linux Debian 7.1 

@author: Amir Bakhtiary

Contact Details :

    Yahoo : Encoder301@Yahoo.com
   
    Skype : Encoder3011
   
    GMail : Infected.Operator@Gmail.com
   
"""

##########################################################################
###iconv -f WINDOWS-1256 -t UTF-8 subtitle.srt --output newsubtitle.srt###                                              ###
##########################################################################


#Importing Modules

from PyQt4 import QtGui as gui#QtGui for Graphical User INterface

import sys

import shutil# file manageing

import os#run commands


#about msg

about_msg="""Gnu\\Linux Persian Subtitle Fixer

Powered By Python and PyQt4

Copyright (c) 2013-2014

Author :

        Amir Bakhtiary as Core Developer
       
Contact Details :

    Yahoo : Encoder301@Yahoo.com
   
    Skype : Encoder3011
   
    GMail : Infected.Operator@Gmail.com
   
"""

       



app=gui.QApplication(sys.argv)

core=gui.QIcon("/home/empty/Icons/fileico.ico")

opt_lst=[]

class Main(gui.QMainWindow):
   
    def __init__(self):
       
        super(Main,self).__init__()
       
        self.setWindowTitle("Gnu\\Linux Subtitle Fixer")
       
        self.setMaximumSize(350,290)
       
        self.setMinimumSize(350,290)
       
        self.resize(350,290)
       
        self.statusBar()
       
        self.center()
       
        act1=gui.QAction(core,"Start",self)
       
        act2=gui.QAction(core,"Exit",self)
       
        act3=gui.QAction(core,"About",self)
       
        act1.setStatusTip("Start Converting")
       
        act1.setShortcut("Ctrl+S")
       
        act1.triggered.connect(self.start)
       
        act2.setStatusTip("Exit Application")
       
        act2.setShortcut("Ctrl+Q")
       
        act2.triggered.connect(sys.exit)
       
        act3.setStatusTip("About me")
       
        act3.triggered.connect(self.about)
       
        menu=self.menuBar()
       
        tools_menu=menu.addMenu("&Tools")
       
        help_menu=menu.addMenu("&Help")
       
        tools_menu.addAction(act1)
       
        tools_menu.addAction(act2)
       
        help_menu.addAction(act3)
       
        box1=gui.QGroupBox(" Input File ",self)
       
        box1.move(5,25)
       
        box1.resize(340,100)
       
        box2=gui.QGroupBox(" Output File ",self)
       
        box2.move(5,175)
       
        box2.resize(340,100)
       
       
        rad1=gui.QRadioButton("Use The Same Folder For Output",self)
       
        rad2=gui.QRadioButton("Use The Different Folder For Output",self)
       
        rad1.move(5,130)
       
        rad2.move(5,150)
       
        rad1.resize(rad1.sizeHint())
       
        rad2.resize(rad2.sizeHint())
       
        rad1.clicked.connect(self.on_same)
       
        rad2.clicked.connect(self.on_dif)
       
        self.IN=gui.QLineEdit(self)
       
        self.IN.move(10,65)
       
        self.IN.resize(290,25)
       
        self.IN.setReadOnly(True)
       
        self.IN.setToolTip("Drag input srt file here \nor push browse button to \nchoose input file from filedialog")
         
        self.IN.setDragEnabled(True)
       
        self.IN.setAcceptDrops(True)
       
        b_btn1=gui.QPushButton("...",self)

        b_btn1.setGeometry(300,65,30,25)       
       
        b_btn1.setToolTip("Click to open file dialog")
       
        b_btn1.clicked.connect(self.choose_dialog)
       
        self.out=gui.QLineEdit(self)
       
        self.out.move(10,210)
       
        self.out.resize(290,25)
       
        self.out.setReadOnly(True)
       
        self.out.setToolTip( "Push browse button to \nchoose output file from filedialog")
       
        self.b_btn2=gui.QPushButton("...",self)

        self.b_btn2.setGeometry(300,210,30,25)       
       
        self.b_btn2.setToolTip("Click to open file dialog")
       
        self.b_btn2.clicked.connect(self.save_dialog)
       
        self.out.setDisabled(True)
       
        self.b_btn2.setDisabled(True)
       



       
    def choose_dialog(self,event):
       
        Dialog_Frame=gui.QFileDialog.getOpenFileName(self,"Choose your input file","/home","SRT Subtitle Files (*.srt)")
       
        self.IN.setText(Dialog_Frame)
   
    def save_dialog(self,event):
       
        Dialog_Frame=gui.QFileDialog.getSaveFileName(self,"Choose your input file","/home","SRT Subtitle Files (*.srt)")
       
        self.out.setText(Dialog_Frame)

       
    def start(self,event):
       
        if len(opt_lst)==0:
           
            gui.QMessageBox.warning(self,"Warning","Choose Option First\t")
       
        else :
           
            if opt_lst[0]=="same":
               
                if self.IN.text=="":
                   
                    gui.QMessageBox.warning(self,"Warning","No input file\t")
                   
                else:
                   
                    os.system("iconv -f WINDOWS-1256 -t UTF-8 '"+str(self.IN.text())+"' --output '"+str(self.IN.text())[:-4]+"fixed.srt'")
                   
                    gui.QMessageBox.question(self,"Completed","Completed\nEnjoy:))\t")
                   
            elif opt_lst[0]=="dif":
               
                if self.IN.text=="":
                   
                    gui.QMessageBox.warning(self,"Warning","No input file\t")
                   
                elif self.out.text()=="":
                   
                    gui.QMessageBox.warning(self,"Warning","No output file\t")
                   
                else :
                   
                    path=str(self.IN.text())[:-4]+"fixed.srt"
                   
                    os.system("iconv -f WINDOWS-1256 -t UTF-8 '"+str(self.IN.text())+"' --output '"+path+"'")
                   
                    shutil.move(path,self.out.text())
                   
                    gui.QMessageBox.question(self,"Completed","Completed\nEnjoy:))\t")
                   
                   
       
    def about(self,event):
       
        gui.QMessageBox.about(self,"About",about_msg)   
       
       
    def center(self):
       
        qr = self.frameGeometry()
       
        cp = gui.QDesktopWidget().availableGeometry().center()
       
        qr.moveCenter(cp)
       
        self.move(qr.topLeft())
   
    def on_same(self,event):
       
        del opt_lst[:]
       
        opt_lst.append("same")
       
        self.out.setDisabled(True)
       
        self.b_btn2.setDisabled(True)
   
    def on_dif(self,event):
       
        del opt_lst[:]
       
        opt_lst.append("dif")
       
        self.out.setEnabled(True)
       
        self.b_btn2.setEnabled(True)

MainWin=Main()

MainWin.show()

MainWin.setWindowIcon(core)

sys.exit(app.exec_())


wxPython Version

#!/usr/bin/env python
# -*- coding: utf-8 -*-
"""
Created on Sat May 31 10:12:45 2014

Project title  :  Persian Subtitle Fixer Powered By Python and WxPython

Tested on : Gnu\\Linux Ubuntu 14.04 \ 13.04 \ 12.04  -  Gnu\\Linux Debian 7.1 

@author: Amir Bakhtiary

Contact Details :

    Yahoo : Encoder301@Yahoo.com
   
    Skype : Encoder3011
   
    GMail : Infected.Operator@Gmail.com
   
"""
##########################################################################
###iconv -f WINDOWS-1256 -t UTF-8 subtitle.srt --output newsubtitle.srt###
###This program fix your subtitles for movies                          ###
#current version just support persian language                         ###
#this is free and open source                                          ###
#-----                                                                 ###
#i putted some comments in  source                                      ###
#Enjoy!                                                                ###
#contact me : encoder301                                               ###
##########################################################################

"""here i imported some modules wich i need
like wx
frame
and more"""

import wx

import os,sys,shutil

"""Make a app object for wx module"""
app=wx.App()
os.chdir("/home/empty/Icons")

icon=wx.Icon("fileico.ico",wx.BITMAP_TYPE_ICO)

os.chdir("/home/")

wildcard="SRT Subtitle Files|*.srt;"


class FileDrop(wx.FileDropTarget):
    def __init__(self, window):
        wx.FileDropTarget.__init__(self)
        self.window = window

    def OnDropFiles(self, x, y, filenames):

        self.window.WriteText(filenames[0])



class Main(wx.Frame):
    def __init__(self):
       
        """call wx.Frame __init__ special method"""
        super(Main,self,).__init__(None,size=(320,260),style=wx.DEFAULT_FRAME_STYLE^wx.RESIZE_BORDER^wx.MAXIMIZE_BOX)
       
        self.SetTitle("GNU\\Linux Subtitle Fixer")
       
        self.list=[]
       
        self.Center()
       
        self.Show()
       
        self.panel=wx.Panel(self)
       
        self.SetIcon(icon)
       
        menubar=wx.MenuBar()
       
        menu1=wx.Menu()
       
        menu2=wx.Menu()
       
        me1=menu1.Append(wx.ID_SAVE,"Start","Start Converting")
       
        me3=menu1.Append(wx.ID_EXIT,"Exit","Close The Program")
       
        me2=menu2.Append(wx.ID_HELP,"About","A Little Passage About Programmer ")
       
        self.CreateStatusBar()
       
        menubar.Append(menu1,"&Tools")
       
        menubar.Append(menu2,"&Help")
       
        self.SetMenuBar(menubar)
       
        self.Bind(wx.EVT_MENU,sys.exit,me3)
       
        self.Bind(wx.EVT_MENU,self.About,me2)
       
        self.Bind(wx.EVT_MENU,self.Start,me1)
       
        self.Bind(wx.EVT_CLOSE , sys.exit)
       
        self.txt1=wx.StaticBox(self.panel,pos=(5,5),label="Input File",size=(310,70))
       
        self.txt2=wx.StaticBox(self.panel,pos=(5,130),label="Output File",size=(310,70))
       
        self.IN=wx.TextCtrl(self.panel,size=(250,25),pos=(15,40),style=wx.TE_READONLY)
       
        self.OUT=wx.TextCtrl(self.panel,size=(250,25),pos=(15,160),style=wx.TE_READONLY)
       
        self.pbtn=wx.Button(self.panel,size=(30,25),pos=(270,40),label="...")
       
        self.pbtn2=wx.Button(self.panel,size=(30,25),pos=(270,160),label="...")
       
        self.btn1=wx.RadioButton(self.panel,pos=(15,80),label="Use The Same Folder For Output")
       
        self.btn2=wx.RadioButton(self.panel,pos=(15,100),label="Use The Different Folder For Output")
       
        self.btn1.SetValue(True)
       
        self.OUT.Disable()
       
        self.pbtn2.Disable()
       
        self.btn1.Bind(wx.EVT_RADIOBUTTON,self.Same)
       
        self.btn2.Bind(wx.EVT_RADIOBUTTON,self.dif)
       
        self.pbtn.Bind(wx.EVT_BUTTON,self.opendialog1)
       
        self.pbtn2.Bind(wx.EVT_BUTTON,self.opendialog2)
       
        drag=FileDrop(self.IN)
       
        self.IN.SetDropTarget(drag)
       
        self.IN.SetFocus()
       
       
    def About(self,event):
       
        wx.MessageBox(about_msg="""Gnu\\Linux Persian Subtitle Fixer

Powered By Python and PyQt4

Copyright (c) 2013-2014

Author :

        Amir Bakhtiary as Core Developer
       
Contact Details :

    Yahoo : Encoder301@Yahoo.com
   
    Skype : Encoder3011
   
    GMail : Infected.Operator@Gmail.com
   
""","About",parent=self)
   
    def Start(self,event):
   
        if len(self.list)==0:
           
            wx.MessageBox("Choose Option First\t\t","Warning",parent=self)
           
        elif self.list[0]=="same":
           
            if self.IN.GetValue()=="":
               
                wx.MessageBox("No Input File\t\t","Alert",parent=self)
               
            else:
               
                os.system("iconv -f WINDOWS-1256 -t UTF-8 '"+str(self.IN.GetValue())+"' --output '"+str(self.IN.GetValue())[0:-4]+"-fixed.srt'")
       
        elif self.list[0]=="dif":
           
            if self.IN.GetValue()=="":
               
                wx.MessageBox("No Input File\t\t","Alert",parent=self)
               
            else:
               
                if self.OUT.GetValue()=="":
                   
                    wx.MessageBox("No Output File\t\t","Alert",parent=self)
                   
                else:
                   
                    my_path=str(self.IN.GetValue())[0:-4]+"-fixed.srt"
                   
                   
                                       
                    os.system("iconv -f WINDOWS-1256 -t UTF-8 '"+str(self.IN.GetValue())+"' --output '"+my_path+"'")
                   
                   
                    shutil.move(my_path,str(self.OUT.GetValue()))
                   
                    wx.MessageBox("Completed\nFixed subtitle saved in : \n\t"+my_path,"Completed",parent=self)
    def dif(self,event):
       
        self.OUT.Enable()
       
        self.pbtn2.Enable()
       
        self.txt2.SetLabel("Output File")
       
        del self.list[:]
       
        self.list.append("dif")
       
    def Same(self,event):
       
        self.OUT.Disable()
       
        self.pbtn2.Disable()
       
        self.txt2.SetLabel("Output File")
       
        del self.list[:]
       
        self.list.append("same")
       
    def opendialog1(self,event):
       
        dialog=wx.FileDialog(self,message="Select Your File",wildcard=wildcard,defaultDir=os.getcwd(),style=wx.FD_OPEN)
       
        ans=dialog.ShowModal()
       
        if ans==wx.ID_OK:
           
            path=dialog.GetPath()
           
            self.IN.SetValue(path)
           
    def opendialog2(self,event):
       
        dialog=wx.FileDialog(self,message="Select Your File",wildcard=wildcard,defaultDir=os.getcwd(),style=wx.FD_SAVE)
       
        ans=dialog.ShowModal()
       
        if ans==wx.ID_OK:
           
            path=dialog.GetPath()
           
            self.OUT.SetValue(path)
           
main=Main()

app.MainLoop()
باشه باشه تماس میگیرم