CSE software version 2

import urllib.request
import csv
import time

# Get a file-like object for a site.
def cse_link():
    try:
        f = urllib.request.urlopen("http://www.cse.lk/listedcompanies/overview.htm?d-16544-e=1&6578706f7274=1")
# NOTE: At the interactive Python prompt, you may be prompted for a username
#http://www.cse.lk/listedcompanies/overview.htm?d-16544-e=1&6578706f7274=1
# NOTE: and password here.
# Read from the object, storing the page's contents in 's'.
# Read data decoded to utf-8
        s = f.read().decode('utf-8')
  
# Save 's' data to log.csv file
        logfile=open("log.csv",'w')
# log.csv file size
        logfile.write(s)
  
        size =logfile.tell()
        if size==0:
                print ("Nothing found to display"
                           "If the market status is CLOSED" )
          
        logfile.close()
    except:
        print ("Network failed please re-check after few minuits")
  

def csv_read():
    global positive,negitive,nothing,change_c,price_positive,price_negitive
    " Open save file from above function"
    filename = "log.csv"
    reader = csv.reader(open(filename, "rt"))
    line_to_read=0
  
    # Comapny Status
    positive=[]
    negitive=[]
    nothing=[]
  
    #Value of gain
    change_c=[]
  
    # Price changes
    price_positive=[]
    price_negitive=[]
  
    for r in reader:
        " Read first value of the file "
        Name_of_Company =r[0]  
        " Read coloum of Price change in Rs"
        price_index=r[9]
        " Read Coloum of price change in % "
        gain=r[10]     

        "*********************************************************************************"
        "Read contributor status (-),'',(+) "
      
        change_symbol=r[11]
      
        if change_symbol=='(-)':
            line_to_read +=1          
            negitive.append(Name_of_Company)
          
            if price_index.find(',')>0:         
                first_negitive=price_index[0]
                second_negitive=eval(first_negitive)              
                third_negitive=eval(price_index[2:])          
                for i in range(second_negitive):
                    fixed_negitive=+second_negitive*1000
                    now_negitive=fixed_negitive + third_negitive
                    #print (now_negitive)
                    price_negitive.append(now_negitive)
            else:
              
                price_negitive.append(price_index)
          
        if change_symbol=='(+)':
            line_to_read +=1          
            positive.append(Name_of_Company)
            change_c.append(gain)     
      
            if price_index.find(',')>0:         
                first_positive=price_index[0]
                second_positive=eval(first_positive)              
                third_positive=eval(price_index[2:])          
                for i in range(second_positive):
                    fixed_positive=+second_positive*1000
                    now_positive=fixed_positive + third_positive
                    #print (now_positive)
                    price_positive.append(now_positive) 
                  
            else:
              
                price_positive.append(price_index)
          
        if change_symbol=='':
            line_to_read +=1
            nothing.append(Name_of_Company)
def company_stat():
    global Positive_Cont,total,Negitive_Cont,Nothing_Cont
    #"Reading Status completed"
    " ********************************************************************************* "
    " Number of Company involved for trading"
    total=len(positive) + len(negitive) + len(nothing)
    Positive_Cont=int(len(positive)/total*100)
    Negitive_Cont=int(len(negitive)/total*100)
    Nothing_Cont=int(len(nothing)/total*100)
    print ("\nDaily Share Trading companies", total)
    "**************************************************************************************"
def  percent_positive():
    global Max_v,Min_v,name_company,name_company_min
    " To read Max and Min change in percerntage-wise (%)"  
    Max_v=max(change_c, key=float)
    Min_v=min(change_c, key=float)
    "To get Maximum % changes"
    name_company=change_c.index(Max_v)
    name_company_min=change_c.index(Min_v)
  

    ">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>"
def price_gain_positive():
    global Max_price,Min_price, name_company_price_max, name_company_price_min
    " To read Max and Min change in price-wise"
    try:
      
        Max_price_positive=max(price_positive, key=float)
        Min_price_positive=min(price_positive, key=float)
    except:
        print (" Version Upgration required")
      
    try:
        name_company_price_max=price_positive.index(Max_price_positive)
        name_company_price_min=price_positive.index(Min_price_positive)
    except:
        print ("Version upgrading required")
      
def print_detail():
    #Analys of Positive contributors status
  
    print ("_______________________________________________________")
  
    print ("\nNo's of Positive |contributors",len(positive), "as " ,Positive_Cont,"%" )  

    print (" \n\tMaximum Gain companies : ",positive[name_company], "at", Max_v,"%")
  
  
    print ("\n\tMinimum Gain companies : ",positive[name_company_min],"at",Min_v,"%")
    print ("\n\tMaximum Price change companies : ",positive[name_company_price_max],
           "at Rs",Max_price ," &",change_c[name_company_price_max])
  
    print ("_________________________________________________________")
    print ("\nNo's of No|contributors",len(nothing), " as % " ,Nothing_Cont,"%")
    print ("_________________________________________________________")

def price_loss_negitive():
  
    # Get maximum loss company price change
    Max_price_negitive=min(price_negitive, key=float)
    Min_price_negitive=max(price_negitive, key=float)
    # Get index from negitive comapny list
    negitive_name_company_price_max_index=price_negitive.index(Max_price_negitive)
    negitive_name_company_price_min_index=price_negitive.index(Min_price_negitive)
    # Get name of the Max and Min loss company
    negitive_name_company_price_max=negitive[negitive_name_company_price_max_index]
    negitive_name_company_price_min=negitive[negitive_name_company_price_min_index]
    print ("_________________________________________________________")
    print ("\nNo's of Negitive |contributors",len(negitive), " as %",Negitive_Cont,"%")
    print ("\n\t Maximum Price Loss Comapany is : ", negitive_name_company_price_max, " at" ,Max_negitive)
    print ("\n\t Minimum Price Loss Company is  : ",negitive_name_company_price_min, "at" ,Min_negitive)
  

  
def check(t):
    while True:
      
        cse_link()
        csv_read()
      
        company_stat()
        price_loss_negitive()
        percent_positive()
        price_positive()
        print_detail()
        print (" \n \tNext check will be after  :",t,"seconds\n\t")
        time.sleep(t)
        continue
check(120)