# Python 3.2.3
#
# PNG-V1.3.py
#
# Copyright 2012 openSsme <openSsme@gmail.com>
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
# MA 02110-1301, USA.
#
import sys, time, mmap, os
os.system("mode con cols=90 lines=40")
def banner():
print ('\n\n\n'
"-----------------------------------------------------------------------------------------\n"
"=========================================================================================\n\n"
""
" NUMBERS GENERATOR V1.3 10/2012 BY openSsme \n\n"
""
"=========================================================================================\n"
"-----------------------------------------------------------------------------------------")
def clear():
os.system('cls' if os.name == 'nt' else 'clear')
return ''
def main():
usrInput = input ("\n\n\n\n Select an option:\n\n"
""
" 1) Generate customized numbers\n"
" 2) Generate mobile numbers (israel)\n"
" 3) Generate landline numbers (israel)\n"
" 4) Quit properly\n\n\n\n\n")
if usrInput == "1":
clear()
f = open ( input ('\n\n\n' + "Enter filename for generated numbers: ") + ".txt" , 'w')
prefix = input ('\n' + "Enter a prefix number: ")
number = int ( input ('\n' + "Enter the first number to generate from: ") )
limit = int ( input ('\n' + "Enter the last number to generate: ") )
if number >= 1000000:
print ("\n\n\n\n\n\nGenerating. might take a few seconds for a 7+ digits numbers..")
else:
print ("\n\n\n\n\n\nGenerating...")
if number <= limit:
# GENERATOR
while number != limit:
number = number+1
f.write(str(prefix)+str(number)+'\n')
# END OF GENERATOR
else:
print ("\n\nFirst number must be smaller or equal to last number.\n\n")
time.sleep(3)
clear()
main()
# COUNTER
f = open(f.name, "r+")
buf = mmap.mmap(f.fileno(), 0)
lines = 0
readline = buf.readline
while readline():
lines += 1
print ("\nDone generating list of numbers prefixed with '" +prefix+ "'" "\n\n Counted " +str(lines)+ " lines.\n\n\n\n")
# END OF COUNTER
time.sleep(3)
clear()
main()
if usrInput == "2":
clear()
f = open ( input ("\n\n\nEnter filename for generated phone numbers: ") + ".txt" , 'w')
prefix = input ("\nEnter carrier prefix number (050, 052, 053, 054, 057): ")
number = 1000000
print ("\n\n\n\n\n\nGenerating. might take a few seconds..\n\n\n\n")
# GENERATOR
while number != 9999999:
number = number+1
f.write(str(prefix)+str(number)+'\n')
# END OF GENERATOR
# COUNTER
f = open(f.name, "r+")
buf = mmap.mmap(f.fileno(), 0)
lines = 0
readline = buf.readline
while readline():
lines += 1
print ("\nDone generating list of numbers prefixed with '" +prefix+ "'" "\n\n Counted " +str(lines)+ " lines.\n\n\n\n")
# END OF COUNTER
time.sleep(3)
clear()
main()
if usrInput == "3":
clear()
f = open ( input ('\n\n\n' + "Enter filename for generated phone numbers: ") + ".txt" , 'w')
prefix = input ('\n' + "Enter area code (02, 03, 04, 077, 08, 09): ")
number = 5000000
print ("\n\n\n\n\n\nGenerating. might take a few seconds..\n\n\n\n")
# GENERATOR
while number != 9999999:
number = number+1
f.write(str(prefix)+str(number)+'\n')
# END OF GENERATOR
# COUNTER
f = open(f.name, "r+")
buf = mmap.mmap(f.fileno(), 0)
lines = 0
readline = buf.readline
while readline():
lines += 1
print ("\nDone generating list of numbers prefixed with '" +prefix+ "'" "\n\n Counted " +str(lines)+ " lines.\n\n\n\n")
# END OF COUNTER
time.sleep(3)
clear()
main()
if usrInput == "4":
clear()
print ("\n\n\nQuitting.\n\n\n\n\n")
time.sleep(0.5)
sys.exit()
else:
print ("\n\n\nNo such thing.\n\n\n\n\n\n\n\n")
time.sleep(2)
clear()
main()
#~~~~~~~~~~ MAIN PROGRAM !!! ~~~~~~~~~#
#~~~~~~~~~ ONLY TWO LINES !!! ~~~~~~~~#
banner()
main()