Archive

Posts Tagged ‘doha’

Python Project: Properties Maintenance System P5

November 2, 2021 7 comments

Subject: Writing a Full Application for Properties Maintenance System [Maintenance Job List]
Learning : Python, Math, SQL, Logeic

[NOTE: To keep the code as simple as we can, We WILL NOT ADD any user input Varevecations. Assuming that our user will Enter the right inputs.]


In Part-5 We will writing the Functions to Manage the Maintenance Job List Functions. Maintenance Job List is a list of things that the Customer/ Renter may ask to repair [if Damage]
such as the AC, TV, Lights or water-system in the property. In this Part, we will write three Function so we can Add, Edit and Delete from this list. So let’s start with Adding to Maintenance Job List.

Adding to Maintenance Job List:
Once the user select this option from the Menu, then the prompit will ask to enter a New Maintenance Job to the List and the SQL [INSERT INTO] command the Database will be updated with one record. Here is the code ..

python project Properties Maintenance System code by ali radwani doha qatar AHRADWANI.COM


Edit Maintenance Job List:
In this Function the user will see all the Maintenance Jobs we have in the DataBase and will be asked to select one to be Edited [by selecting it’s ID], we will check the availability of the ID then will waite to Enter the correct one. Here is the code that will Update one of the Jobs item.

python project Properties Maintenance System code by ali radwani doha qatar AHRADWANI.COM


Delete from Maintenance Job List:
Last Function today will be to Delete from the list. Here also we will list all the Maintenance Jobs we have in the DataBase and will be asked to select one to be Deleted [by selecting it’s ID], we will check the availability of the ID then will ask the user to confirm Deleting. Code is here ..

python project Properties Maintenance System code by ali radwani doha qatar AHRADWANI.COM



End of Part-5, this was the last Function in this post, Now we have all Functions to works with the look-up tables in our application.


In Part-6 In coming post we will continue writing Functions that will Add records to the system.



:: PMS Parts ::

Part 1 Part 2 Part 3 Part 4
Part 5 Part 6 Part 7 Part 8



..:: Have Fun with Coding ::.. ๐Ÿ™‚

To Download my Python code (.py) files Click-Here



ali radwani ahradwani.com python projects codeFollow me on Twitter..

By: Ali Radwani

Python Project: Properties Maintenance System P4

October 28, 2021 8 comments

Subject: Writing a Full Application for Properties Maintenance System [Property Type Functions]
Learning : Python, Math, SQL, Logeic

[NOTE: To keep the code as simple as we can, We WILL NOT ADD any user input Varevecations. Assuming that our user will Enter the right inputs.]

In Part-4 We will writing the Functions to Manage the Maintenance Property Types Functions. Property Type is a Look-up Table that will help the user to select some values, as other Look-up Tables, in Part-1 when we set-up the application and select to create the database we Insert some data in to it. Now will will write three Functions to Add New Property Type, Edit a Property Type and Delete a Property Type from the DataBase.
[.. ALL THE CODE ARE AVAILABLE IN DOWNLOAD PAGE.. ]
Starting with Add New Property Type, We will ask the user to write the New Property Type then will run the SQL command to Insert it into the data-base.. Hear is the Code ..

python project Properties Maintenance System code by ali radwani doha qatar


Now we will write the Edit Function we if we have any error in the typpiing of the Property Type we can correct it using this Function.. Fisr we will display all the Properies Type we have, asking the user to Select an ID of the one to-be Edit, then we will check for the availability of the user input [simple valitation proccess] and will ask the user to Insert the correct Value/Text to replace the exsist one. Here is the code ..

python project Properties Maintenance System code by ali radwani doha qatar


The Last Function in this part is to Delete a selected Property Type, in this Functioin we will List down all the Property Types we have in the data-base and ask the user to select the ID for the one to be deleed, then we cal the SQL commands that will Delete the record. Here is the code ..

python project Properties Maintenance System code by ali radwani doha qatar


.. DONE WITH PART – 4 ..


In Part-5 In coming post we will continue writing Lookup Table Functions to Add, Edit and Delete there data.



:: PMS Parts ::

Part 1 Part 2 Part 3 Part 4
Part 5 Part 6 Part 7 Part 8



..:: Have Fun with Coding ::.. ๐Ÿ™‚

To Download my Python code (.py) files Click-Here



ali radwani ahradwani.com python projects codeFollow me on Twitter..

By: Ali Radwani

Python Project: Properties Maintenance System P3

October 24, 2021 9 comments

Subject: Writing a Full Application for Properties Maintenance System [Property: Job Status Functions]
Learning : Python, Math, SQL, Logeic

[NOTE: To keep the code as simple as we can, We WILL NOT ADD any user input Varevecations. Assuming that our user will Enter the right inputs.]

In Part-3 We will start writing the Functions to Manage the Maintenance Job Status Functions. Job Status is a Look-up Table that will help the user to select some values, by defualt when you install the application and select to create the database, [we talk about this in Part-1] we Insert some data in to it such as [Pending, Compelete, In-Progress]. Now will will write three Functions to Add New Job Status, Edit a Job Status and Delete a Job Status from the DataBase.

So, let’s start with Add New Job Status, We will ask the user to write the New Job Status then will run the SQL command to Insert it into the data-base.. Hear is the Code ..

python project Properties Maintenance System code by ali radwani doha qatar



The second Function will be to Edit a Job-Status, in this case we will display all the Job-Status we have in the table, and ask the user to select the ID of the one to be Edited, then we will ask again to enter the new/updated one, and using UPDATE command in SQL we will update the record. Here is the code ..

python project Properties Maintenance System code by ali radwani doha qatar



Last Function will be to Delete a record from the Job-Status Table. Here we also will ask the user to select an ID then to confirm the deleting action. Here is the code ..



In Part-4 In coming post we will continue writing Lookup Table Functions to Add, Edit and Delete there data.

:: PMS Parts ::

Part 1 Part 2 Part 3 Part 4


..:: Have Fun with Coding ::.. ๐Ÿ™‚

To Download my Python code (.py) files Click-Here



ali radwani ahradwani.com python projects codeFollow me on Twitter..

By: Ali Radwani

Python Project: Properties Maintenance System P2

October 20, 2021 10 comments

Subject: Writing a Full Application for Properties Maintenance System
Learning : Python, Math, SQL, Logeic

[NOTE: To keep the code as simple as we can, We WILL NOT ADD any user input Varevecations. Assuming that our user will Enter the right inputs.]

In Part-2 we will start writing the Functions in our app, to start I select the Payment Methods, this is a Look-up Table that will help the user to select come values, by defualt when you install the application and select to create the database, [in Part-1] we Insert some data all lookup-tables, So here in payment Method we have [Cash, Card, Cheque]. Our Functions will be Add New Payment Method, Edit a Payment Method and Delete a Payment Method.
Once i start writing the Edit Function, i notes that we need another two Functions to Help-up theyare: get_lookup_values(tname,t_id,key_id) and check_availabilty(dt, d_id, check_id) both not printing any thing on the screen just returning a Value.
get_lookup_values(tname,t_id,key_id) Here we pass the Table-Name, the ID field and key_id we want to return it’s Value.

check_availabilty(dt, d_id, check_id) This function will return True if the ID we send in ‘check_id’ is in the Data-Table dt.

So, let’s start with Add New Payment Method, We will ask the user to write the New Payment Method the will run the SQL command to Insert it into the data-base.. Hear is the Code ..

 # Add Payment Method

def add_pay_method():
    os.system('clear')
    line2 = "Add Payment Method"
    header(line2, 9,14)
    
    print('\n\n     List of the Payment Methods in the System ..  \n')
    show_lookup_data('Yes' ,'pay_meth_t','pm_id')
    
    print('\n     Enter a New Payment Method to the System.')
    print("     [E, Space or just Pressing Enter will be as 'Exit'].\n")
    
    new_pm =  input('     Enter a New Payment Method > ')
    
    if new_pm in ["e","E", "", " "] : 
        input ('\n     You Select to Exit .. Press any key > ')
        return
    else:
        c.execute ("INSERT INTO pay_meth_t (p_method) VALUES(:p_method)",{"p_method":new_pm.capitalize()}) 
        db_conn.commit()             
        
        input('\n     Done .. One record Added to the Data-Base .. Press any Key .. > ')
        return

Now, we will go to Edit a Payment Method that we have in the DataBase, here we will list all the Data we have on the screen, and will ask the user to Select the one to be edit, we will check the availability of the ID using the def check_availabilty(dt, d_id, check_id) Function and then [if the ID is available] we will use the def get_lookup_values(tname,t_id,key_id): function to fetch the key-value of that ID, then asking the user to Enter the New/Edited one. Here is the code..

python project Properties Maintenance System code by ali radwani doha qatar

Last Function in this part is to Delete a Payment Method from the Databsae, here also we will display all the contents of the table on the screen, and ask the user to select the one tobe deleted, we will check the availability of the ID and ask the user to confirm the Deleting action, then will call the SQL command to delete the entry. Here is the code..

python project Properties Maintenance System code by ali radwani doha qatar

In Part-3 In coming post we will continue writing Lookup Table Functions to Add, Edit and Delete there data.

:: PMS Parts ::

Part 1 Part 2 Part 3 Part 4


..:: Have Fun with Coding ::.. ๐Ÿ™‚

To Download my Python code (.py) files Click-Here



ali radwani ahradwani.com python projects codeFollow me on Twitter..

By: Ali Radwani

Python Project: Properties Maintenance System P1

October 17, 2021 13 comments

Subject: Writing a Full Application for Properties Maintenance System
Learning : Python, Math, SQL, Logeic

[NOTE: To keep the code as simple as we can, We WILL NOT ADD any user input Varevecations. Assuming that our user will Enter the right inputs.]

In one of last week posts I mentioned that i am working on a New Project, and that we may start doning a “Properties Maintenance System” also I Draft-Down some points and brain-storming session [READ THE ARTICLE HERE]. In this Part -1 of the Properties Maintenance System

In this Post, we will see the Tables and the Fields, and will write the first Function to create the Data-Base and the tables, also Inserting the Zero-Records and the (some) Data in-to lookup tables. Also I will try to list-down all the Functions we may write in our Application. All the codes will be available in the Download Page.

Tables and Fields

  • Name: Job Status Table (job_s_t). Type: Lookup.
  • Name: Payment Method Table (pay_meth_t). Type: Lookup.
  • Name: Property Type Table (prop_type_t). Type: Lookup.
  • Name: Maintenance Job List Table (main_job_list_t). Type: Lookup.
  • Name: Properties Table (properties_t).
  • Name: Maintenance Request Table (maint_request_t)
  • Name: Receipt Table (receipt_t)

[Any other Table we may add more tables if we need latre]


Function: Here i am listing all the Functions we will create, this list will be the Main Menu.

… [ PROPERTIES MENU ] …

  • Add New Property.
  • Edit a Property.
  • Delete a Property.
  • Show Properties.

… [ LIST MANAGER ] …

  • Payment Method. [Add, Edit, Delete]
  • Job Status. [Add, Edit, Delete]
  • Property Type. [Add, Edit, Delete]
  • Maintenance List. [Add, Edit, Delete]
    … [ SETTING ] …

  • Create the Data-Base and the Tables.
  • Delete the Data-Base.
  • Export to Excel.


Function Exalmple: For each Function we have, this will be the template of the Function Name and the first three lines

 # Sample of: Add Job Status Function

def add_job_status():
    os.system('clear')
    line2 = "Add Job Status"
    header(line2, 9,14)  # Calling the header Function. 


Table Creation and Zero-Records
I am always start writing the ideas in the Python Editor as comments, and coding in the same time, so by the time i collect all this article the Part-1 of the project was done with Tow or Three Functions that Creating the Tables and Inserting the data into lookup-Tables. Here I am posting some screen shots of the code..

Property Maintenance System python code project ali radwani Property Maintenance System python code project ali radwani
Property Maintenance System python code project ali radwani Property Maintenance System python code project ali radwani


In Part-2 In Part-1 [This Article] We create the Data-Base and Tables, also Insert some Data into the lookup-tables and we create the Main-Menu Function. In Part-2 we will start writing some Functions to manage the lookup tables.

:: PMS Parts ::

Part 1 Part 2 Part 3 Part 4

..:: Have Fun with Coding ::.. ๐Ÿ™‚

To Download my Python code (.py) files Click-Here



ali radwani ahradwani.com python projects codeFollow me on Twitter..

By: Ali Radwani

Vestibule: Nikon S9900 Shot 13

October 13, 2021 Leave a comment


Subject: Nikon S9900 in Souq-Waqif Journey

In 2016 I bought Nikon Coolpix S9900, I have Nikon D90, and Nikon 7100 both are DX (crop sensor), but S9900 is my first Coolpix (point & shoot) camera from Nikon, I use to have Sony T100. [:. Read more about my cameras and lenses Here .:]

This Shot: In one of most beautifully ‘Old Bazaar’ in Qatar called “Souq-Waqif” you may find lot’s of Vestibules, here is one that will take you to a Mosque, I take the shot using Nikon S9900.

…Click Image to Enlarge…
photo photography ali radwani doha qatar Souq-Waqif old bazaar Nikon Coolpix S9900
Camera in Hand, F:3.7, ISO:125, Shutter:1/400s, Focal-Point:5mm



::.. To see all my Nikon S9900 Photos Click-Here
::.. To see all my Nikon D7100 Photos Click-Here
::.. To see all my Nikon D90 Photos Click-Here




ali radwani ahradwani.com python projects codeFollow me on Twitter..

By: Ali Radwani

Python: Coffee Consumption P10

October 11, 2021 Leave a comment

Learning : Python, SQlite3, Dataset, Pandas,
Subject: Create Coffee Consumption Application.

[NOTE: To keep the code as simple as we can, We WILL NOT ADD any user input Varevecations. Assuming that our user will Enter the right inputs.]

[ IF THE IS FIRST TIME DOWNLOADING THE CODE FILE, SELECT OPTION 7 FROM MAIN-MENU TO CREATE THE DATABASE]


In this Last part (Part-10) of Coffee Consumption App, we will write a Function to Export the Data to an Excel Fiel, So this will be the Last part of this application and any other Enhancement will be added as new version of the application.

Exporting The Data: To Export the data to or say “writing into” Excel file we need to import New library Named: xlsxwriter [if you don’t have the library then you need to install it first, using this command: pip install xlsxwriter]. After installing we will call it into our python file using this command: import xlsxwriter. The Excel file [in this case] will have four Sheets, named as follow:
coffee_con, coffee_name, coffee_type, coffee_size
each sheet will contains the table header and the date.
File Name: The file name will be as: coffee_consumption_[Current Date & Time].xlsx, the date and time will be formated as: yyyymmdd_HM, the python code to generate this is:
now = datetime.now()
date_t = now.strftime(“%Y%m%d_%H%M”)

Also we need to know that the file will be saved in the same directory of the application or (python .py file)


New Function: from our back_up function we will call another Function called: write_data(data_set,col_list,the_sheet): this Function will write the data-set into Excel file sheet, so we need to pass the data_set, column list and the Sheet Name as arguments to the function and it will use the command: write(row,col,data) to write the row to the sheet. Here is the code

# Writing the data into the sheet

def write_data(data_set,col_list,the_sheet):
    """
    Function to write the data-set into Excel file sheet.
    
    Argument:
        data_set:
        col_list: List of the columns in the data_set.
        the_sheet: the Sheet Name.      
    
    """    
    # write the Table Header
    for x in range (0,len(col_list)):
        the_sheet.write(0,x,col_list[x])
        
    rows = len(data_set)
    for row in range (1,rows) :
        for col in range (0,len(col_list)) :
            the_sheet.write(row,col,data_set[row][col])


In our main back-up function, we prepare the data-set and column list, then we call the new Function write_data passing the variable. Here is two parts of the code, first one is generating the file name, and calling the datetime function, second part is dealing with the data tables in the database, fetching the data, listing the columns and passing this to write_data function.. Here is the code

python project coffee ali doha radwani
python project coffee ali doha radwani

… Done. We finish the Coffee Consumption Application using Python and Sqlite. Next Week we will start New Application ..


..:: Have Fun with Coding ::.. ๐Ÿ™‚


Part 1 Part 2 Part 3 Part 4 Part 5
Part 6 Part 7 Part 8 Part 9 Part 10


To Download my Python code (.py) files Click-Here



ali radwani ahradwani.com python projects codeFollow me on Twitter..

By: Ali Radwani

Python: Property Mainenance System

October 6, 2021 1 comment

Project Name: Property Mainenance System
By: Ali Radwani
First-Draf: 5.10.2021 [Brin Storming]


I start writing the outline for a New Project about Renting System, one of the Functions in the system was Property Maintenance Service, then I notes that this Function can be a Stand-Alone System because of it’s Size and Requerment, so i decide to transfer the Property Maintenance Service into an Application.

Here are some Brain-Storming ideas [Not sorted, Not checked, Need to been Reviewed]

  • Submit Maintenance Request (by Tenant) : (For What?: [Bathroom, kitchen, WaterSystem[Colling, Heating], Windoews and Doors, Paints, TV & Aoudio,Insects and Bugs, Roof, Others (If other please write.. )]
  • Request Date,time
  • Property address.
  • Maintenance Suggested Date (by Tenant) [Need Maintenance team appoval]
  • Cost Evaluation. [Tenant Approval Requear]
  • IF Approved. Do Payment,[Cash, cheque, card] Set the Date and Time for the Maintenance.
  • Start the job after payment.()
  • After Maintenance Finsh Close the case.
  • Print Report if requered.
  • —> Tables:
    • Properties: ID, Address[Zone, Street, Building],Type[Villa, Appartment], Bedroom(numbers), Bathroom(numbers), Kitchen(numbers),Car_garage(numbers), Intercome, TV_Cable, Internet, contract_period
    • Maintenance_request: property ID, maintenance for, date_time status[pending, inprogress, complete],
    • Payments: Total Cost, Date, Payed_by, Payment Method[cash,cheuq], Property ID, receipt id.
    • completed: data, property ID, maintenance for, cost,
    • —> look-up tables:
      • job status: [pending, inprogress, complete, ]
      • payment methods: [Cash, Card, cheque,]
      • Maintenance List: [Bathroom, kitchen, WaterSystem[Colling, Heating], Windoews and Doors, Paints, TV & Aoudio, Insects and Bugs, Roof, Others (If other please write.. )]
  • Functions:
    • Main Menu.
    • Add, Edit, Delete [For each Section/Function in the tables/Application]
    • Show Data/Records.
    • Reports
    • submin_request.

… More to be added .. Needs:[Tables Name, ] .. Tables or functions may Merged or Deleted.

Souq-Waqif: Nikon S9900 Shot # 12

October 3, 2021 Leave a comment


Subject: A Photo from Souq-Waqif with Nikon S9900

In 2016 I bought Nikon Coolpix S9900, I have Nikon D90, and Nikon 7100 both are DX (crop sensor), but S9900 is my first Coolpix (point & shoot) camera from Nikon, I use to have Sony T100. [:. Read more about my cameras and lenses Here .:]

This Shot: I was walking in Souq-Waqif one the most famous ‘Bazaar’ in Qatar
I fond this Restaurant, and I take the shot using my Nikon S9900, camera In-Hand.

…Click Image to Enlarge…

Camera in Hand, F:4 , ISO:125 , Shutter:1/640s
Focal-Point:6mm



::.. To see all my Nikon S9900 Photos Click-Here
::.. To see all my Nikon D7100 Photos Click-Here
::.. To see all my Nikon D90 Photos Click-Here


::.. Other Photos From Qatar Click-Here



ali radwani ahradwani.com python projects codeFollow me on Twitter..

By: Ali Radwani

Python: Coffee Consumption P8

September 26, 2021 2 comments

Learning : Python, SQlite3, Dataset, Pandas,
Subject: Create Coffee Consumption Application.

[NOTE: To keep the code as simple as we can, We WILL NOT ADD any user input Varevecations. Assuming that our user will Enter the right inputs.]

[ IF THE IS FIRST TIME DOWNLOADING THE CODE FILE, SELECT OPTION 7 FROM MAIN-MENU TO CREATE THE DATABASE]


In this part (Part-8) of Coffee Consumption App, we will write a Function to Delete a Record from the Main Table of the Coffee Consumption System.

Deleting a record is an easy SQL command having the Table Name and the Record ID that we want to Delete. In our Function First we wil display all the Records on the screen and asking the user to Select the ID of the Record, then we will display that record (again) on the screen and ask to Confirm the action by Entering [Y].
If the user Enter [Y] the Record will be Deleted, any thing else it wil be as No and the user will returned to the Main-Menu.

Coding: We will start the Function by displaying the header, then we will call the Function that will display all the Records in the data-base.. Here is the code..
show_records(inside = ‘yes’)
and asking the user to Select the ID.
NEXT: We will check the Availability of the ID, so if the user Enter an ID that not in the Data-Base or Empty space or just press Enter we will ask to re-enter the ID again. … Here is the code ..
while True:

del_rec_id = input (‘\n\n Select the Record ID to be Deleted > ‘)

if del_rec_id in [‘e’,’E’]:

input(‘ You Select [E to Exit].. Press any Key. > ‘)

return

elif (del_rec_id ==” “) or (del_rec_id ==””) or (check_availabilty(‘coffee_con’,’c_id’, int(del_rec_id)) != None):

break

If the ID is available, then we will display the Record and will ask the user to Confirm the Delete Command. This is the code for all the Delete Function ..


What’s Coming: In Part-9 we will Writing the Function to Edit a Coffee Record.


..:: Have Fun with Coding ::.. ๐Ÿ™‚


Part 1 Part 2 Part 3 Part 4 Part 5
Part 6 Part 7 Part 8 Part – Part –


To Download my Python code (.py) files Click-Here



ali radwani ahradwani.com python projects codeFollow me on Twitter..

By: Ali Radwani