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

کمک و پشتیبانی => برنامه‌سازی => نویسنده: محمدامین در 17 تیر 1393، 01:09 ب‌ظ

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

توجه: لطفا اگر می‌خوایید اسکریپت بذارید پست بفرستید و سؤال نپرسید تا تاپیک منسجم بمونه. ممنون.
اگر هم سؤالی به ذهنتون اومده، می‌تونید اون رو این‌جا (http://forum.ubuntu.ir/index.php/topic,95427.0.html) مطرح کنید. (با تشکر از دوست خوبم 2020s1371 (http://forum.ubuntu.ir/index.php?action=profile;u=45387))
عنوان: پاسخ : کلکسیونر اسکریپت
ارسال شده توسط: محمدامین در 17 تیر 1393، 01:21 ب‌ظ
خوب اولین قدم رو خودم بر می‌دارم.
مجموع چند تا شِل اسکریپت رو لینک کردم. این‌ها برای دانلود شبانه هستند. یک فایل README فارسی داخلش گذاشتم که اگه طبق اون پیش برید میتونه:
۱- کامپیوتر رو سر ساعت روشن کنه
۲- لینک‌هایی رو که بهش میدید دانلود کنه
۳- سیستم رو خاموش کنه
که این آخریه در دوحالت ممکنه اتفاق بیوفته: یا دانلودها تموم بشن یا ساعت دانلود رایگان تموم بشه که در این صورت شب بعد دوباره سیستم روشن می‌شه و دانلودها رو ادامه می‌ده.
واضحه که برای اونایی که اینترنت نامحدود دارند فقط یه تفریحه! ولی من با این هرشب حدود ۴-۶ گیگ دانلود می‌کنم.

لینک: https://drive.google.com/file/d/0B2_tmNlUxrT-aEs1eHRqV1lfemM/edit?usp=sharing (https://drive.google.com/file/d/0B2_tmNlUxrT-aEs1eHRqV1lfemM/edit?usp=sharing)
عنوان: پاسخ : کلکسیونر اسکریپت
ارسال شده توسط: HSN6 در 17 تیر 1393، 01:56 ب‌ظ
اینو همین چند روز پیش نوشتم. هر‌ ۲۰ دقیقه یک‌بار پیام می‌ده خستگی‌تو بگیر !
من معمولاً بعد از ۸-۹ ساعت مداوم ، در اواخر شب حالت تهوع و لرزش و سرد شدن بدن و ... بهِم دست می‌ده !!

while sleep 20m;
do
    xmessage 'rest now' -c;
done
عنوان: پاسخ : کلکسیونر اسکریپت
ارسال شده توسط: محمدامین در 17 تیر 1393، 03:08 ب‌ظ
اسم پکیج هایی رو که میخواید بهش میدید و اون لینکهای دانلود رو بهتون میده.
#!/bin/sh
apt-get --print-uris -y install $* | sed -e "s/' /\n/" -e "s/'//" | grep http
در ضمن sudo هم نمیخواد. بعد میشه پکیج ها رو با خیال راحت با dpkg نصب کرد. واسهی کار افلاین خیلی خوبه.
عنوان: پاسخ : کلکسیونر اسکریپت
ارسال شده توسط: B در 17 تیر 1393، 05:08 ب‌ظ
مثلا یه قسمت از اسم یه برنامه رو میدونید ولی نام کاملشو نمیدونید!
میتونید با با عبارات باقاعده توی کل برنامه‌های سیستم اونو سرچ کنید

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


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

فکر میکنم به برنامه داخل لینوکس یاشه که همچنی کاری میکنه ولی خب اینم لذت داره :D
عنوان: پاسخ : کلکسیونر اسکریپت
ارسال شده توسط: احسان☺ - در 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"
با یه کم دستکاری احتمالا بهتر میشه و میشه برای کار های دیگه هم ازش استفاده کرد.
عنوان: پاسخ : کلکسیونر اسکریپت
ارسال شده توسط: محمدامین در 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 در 19 تیر 1393، 05:21 ب‌ظ
GeoIP  - پیدا کردن کشور آیپی مورد نظر  - اطلاعات بیشتر (http://www.iranled.com/forum/thread-25271.html)


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 هم کنار این برنامه قرار بدید

دانلود از اینجا (http://bayanbox.ir/id/1537021107779906372?info)

مثال:
./search 174.142.150.198
Canada

عنوان: پاسخ : کلکسیونر اسکریپت
ارسال شده توسط: B در 20 تیر 1393، 12:14 ب‌ظ
سوال: یه برنامه‌ا (اسکریپت)ی می‌خوام که محتوای تمام پرونده‌ها را در این پوشه بگرده و هر عبارت به یکی از شکل‌های ‎0abcdefg***‎ و ‎+98abcdefg***‎ و ‎0098abcdefg***‎ هست پیدا کنه و به ‎0hijklmn***‎ تبدیل کنه. - لینک سوال (http://forum.ubuntu.ir/index.php/topic,95427.msg781612.html#msg781612)



جواب: - لینک جواب (http://forum.ubuntu.ir/index.php/topic,95427.msg781687.html#msg781687)

#!/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 در 22 تیر 1393، 07:37 ب‌ظ
نقل‌قول
یاد کد هایی رو که نوشته با مجوز GNU GPL این‌جا منتشر کنه

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

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

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

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

-----
کلا چهار خط اسکریپت داریم میذاریم دیگه! پروژه ناسا رو که نذاشتیم :D
عنوان: پاسخ : کلکسیونر اسکریپت
ارسال شده توسط: علیرضاامیرصمیمی در 23 تیر 1393، 07:59 ق‌ظ
این هم لینک github پروژه PersianDM که یه رابط گرافیکی ساده هست برای aria2 که با Bash نوشته شده
https://github.com/alireza-amirsamimi/persiandm
مجوز GPL
امیدوارم که به دوستان عزیز بتونه کمک کنه :)
عنوان: پاسخ : کلکسیونر اسکریپت
ارسال شده توسط: Hostile در 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()
عنوان: پاسخ : کلکسیونر اسکریپت
ارسال شده توسط: محمدامین در 05 امرداد 1393، 12:56 ق‌ظ
دانلود مستقیم از Y*ube:
به جای host:port، آدرس پروکسی HTTP خودتون رو بذارید. فقط برای بدست آوردن لینک استفاده می‌شه. دانلود بصورت مستقیم از سرور گوگله \\:D/
#!/bin/sh
spacing='::::::::::::::::::::::::::::::::::::::::'
echo "$(youtube-dl --get-filename -o '%(title)s.%(ext)s' -g --proxy http://host:port $*)" > /tmp/video-dl
FileName="$(sed -n 2p /tmp/video-dl)"
Link="$(sed -n 1p /tmp/video-dl)"
echo "\n$spacing\n$FileName\n$spacing\nGiven Code: $*\n$spacing\n"
wget -c -O "$FileName" "$Link"
عنوان: پاسخ : کلکسیونر اسکریپت
ارسال شده توسط: محمدامین در 23 امرداد 1393، 06:59 ب‌ظ
برنامه‌ی پیدا کردن جمله‌ی nام بسط ۲ جمله‌ای:
#!/usr/bin/python
def GetSen(i, num):
  n = i
  k = num - 1
  s = n - k
  z = Combination(n, k)
  if z == 1:
    z = ''
  out='{z}a^{s} * b^{k}'.format(z=z,n=n,s=s,k=k)
  return out

def Factorial(number):
  if number < 0:
    raise ValueError('number must be higher than zero.')
  elif number > 1:
    return number * Factorial(number - 1)
  else:
    return 1

def Combination(n, k):
  return Factorial(n) / (Factorial(k) * (Factorial(n - k)))

def GetFinnalSen(i):
  finnal = ''
  for num in range(1, i + 1):
    finnal = finnal + GetSen(i, num) + ' + '
  finnal = finnal + GetSen(i, i + 1)
  return finnal

def OptSen(sen):
  if sen.count('^0'):
    s = sen.find('^0') - 1
    d = sen[s:s+3]
    sen = sen.replace(d, '')
  if sen.count('  '):
    sen = sen.replace('  ', ' ')
  if sen.count('* +'):
    s = sen.find('* +')
    d = sen[s:s+3]
    sen = sen.replace(d, ' + ')
 
  if sen.count('+ *'):
    s = sen.find('+ *')
    d = sen[s:s+3]
    sen = sen.replace(d, ' + ')
 
  if sen.count('* *'):
    s = sen.find('* *')
    d = sen[s:s+3]
    sen = sen.replace(d, ' * ')
 
  if sen.count('^1'):
    s = sen.find('^1')
    d = sen[s:s+2]
    sen = sen.replace(d, '')
 
  return sen

def GetSentence(power):
  power = int(power)
  if power == 0:
    return '1'
  finnal = GetFinnalSen(power)
  for x in range(0, finnal.count('') - 1):
    finnal = OptSen(finnal)
  return finnal

def InitSen(a, b, sen):
  pass

if __name__ == '__main__':
  import sys
  try:
    n = sys.argv[1]
  except IndexError:
    print 'Error: Give a Number!!!'
    exit()
  n = int(n)
  print '(a + b)^' + str(n) + ' = ' + GetSentence(n)
 
طرز استفاده:./(File Name) (number)(دادن توان بصورت آرگومان)
عنوان: پاسخ : کلکسیونر اسکریپت
ارسال شده توسط: دانیال بهزادی در 24 امرداد 1393، 06:38 ب‌ظ
این موضوع به علّت مغایرت با قوانین انجمن قفل می‌شه. هر موضوع در انجمن باید شامل یک مطلب مجرّا باشه!