#!/usr/bin/env python
# -*- coding: UTF-8 -*-

#SCRIPT THAT WILL DELETE THE LEUVEN PROFILES.



### GLOBAL VARIABLES ####
locFile = '/home/mende012/Profilesmerged.xlsx'
editorProfile ='doetterl'
shared= True
#outputDB = "dbname = GSM4-20130208 user = postgres"  # --> clean DB
#outputDB = "dbname = GSM4-20130207 user = postgres"
testing = False
outputDB = "host = 81.169.159.7 dbname = GSM3 user = postgres password = JDo#711" 
#########################

import sys

sys.path.append('../../') #relative path to WOSISAPI from inputDS/CanSIS
from WOSISAPI import *

def main():
    wosisDB = WOSIS(outputDB,testing=testing)
     
    difDic = {'Entry_ID':'UoLEUVEN_SOIL_I',
              'Entry_Title':'Soil sampling in the belgian uplands I',
              'Summary':'University Leuven soils','Private':False}
    
    
    #def searchDIF(self,searchStr,idAndTitle=False,onlyId=True):
    _,pkDIF=wosisDB.searchDIF(searchStr='UoLEUVEN_SOIL_I')
    #deleteRecord()
    for item in pkDIF:
        #DELETE DIF
        wosisDB.deleteRecord(pkValue=item[0],table='DIF',schema='DIF')

        
    #Search publication:
     #searchPublication(self,searchPubStr,searchAuthorStr=None,titleAndPublisher=False,onlyId=True)
    _,publications = wosisDB.searchPublication(searchPubStr='Soil sampling in the belgian uplands I & II',onlyId=False)
    
    #DELETE THING EXCEPT THE isric-hannes 
    for pub in publications:
        if 'isric-hannes' not in pub:
            pkPub = pub[0]
            #print pkPub
            wosisDB.deleteRecord(pkPub,table="Publication",schema="Reference")
            
    #We can't erase 
   # methodDic={u'Inorganic C %':[124],u'organic C %':[92], u'Bulk density g/cm-3':[25],u'Texture':[185],u'Stones %':[49]}
    #search organization

    
   # _,orgId=wosisDB.searchOrganization('%Leuven%')
   # print orgId
    #orgId=orgId[0][0]
   
    #for method in methodDic.keys():
     #   pass
        #(None, [(4915,)])
     #   print wosisDB.searchOrganizationAnalyticalMethodFK(orgId,methodDic[method][0])
    
    # JUST DELETE THE PROFILES:
    wosisDB.cursor.execute(""" SELECT "ProfileId" FROM "Profile"."Profile" WHERE "Editor" ILIKE '%doetterl%' """)
    profiles=wosisDB.cursor.fetchall()
    for idx,profile in enumerate(profiles):
         if (idx%100)==0:
             print "deleted %s" % idx 
         wosisDB.deleteProfile(profile[0])
#    wosisDB.deleteProfile(ProfileId)     

if __name__== '__main__':
    main()
    print "Done"
    
    
