Commit be657c7c by rakesh.pv

inital ver

parents
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="DBNavigator.Project.DataEditorManager">
<record-view-column-sorting-type value="BY_INDEX" />
<value-preview-text-wrapping value="true" />
<value-preview-pinned value="false" />
</component>
<component name="DBNavigator.Project.DatabaseEditorStateManager">
<last-used-providers />
</component>
<component name="DBNavigator.Project.DatabaseFileManager">
<open-files />
</component>
<component name="DBNavigator.Project.Settings">
<connections />
<browser-settings>
<general>
<display-mode value="TABBED" />
<navigation-history-size value="100" />
<show-object-details value="false" />
</general>
<filters>
<object-type-filter>
<object-type name="SCHEMA" enabled="true" />
<object-type name="USER" enabled="true" />
<object-type name="ROLE" enabled="true" />
<object-type name="PRIVILEGE" enabled="true" />
<object-type name="CHARSET" enabled="true" />
<object-type name="TABLE" enabled="true" />
<object-type name="VIEW" enabled="true" />
<object-type name="MATERIALIZED_VIEW" enabled="true" />
<object-type name="NESTED_TABLE" enabled="true" />
<object-type name="COLUMN" enabled="true" />
<object-type name="INDEX" enabled="true" />
<object-type name="CONSTRAINT" enabled="true" />
<object-type name="DATASET_TRIGGER" enabled="true" />
<object-type name="DATABASE_TRIGGER" enabled="true" />
<object-type name="SYNONYM" enabled="true" />
<object-type name="SEQUENCE" enabled="true" />
<object-type name="PROCEDURE" enabled="true" />
<object-type name="FUNCTION" enabled="true" />
<object-type name="PACKAGE" enabled="true" />
<object-type name="TYPE" enabled="true" />
<object-type name="TYPE_ATTRIBUTE" enabled="true" />
<object-type name="ARGUMENT" enabled="true" />
<object-type name="DIMENSION" enabled="true" />
<object-type name="CLUSTER" enabled="true" />
<object-type name="DBLINK" enabled="true" />
</object-type-filter>
</filters>
<sorting>
<object-type name="COLUMN" sorting-type="NAME" />
<object-type name="FUNCTION" sorting-type="NAME" />
<object-type name="PROCEDURE" sorting-type="NAME" />
<object-type name="ARGUMENT" sorting-type="POSITION" />
<object-type name="TYPE ATTRIBUTE" sorting-type="POSITION" />
</sorting>
<default-editors>
<object-type name="VIEW" editor-type="SELECTION" />
<object-type name="PACKAGE" editor-type="SELECTION" />
<object-type name="TYPE" editor-type="SELECTION" />
</default-editors>
</browser-settings>
<navigation-settings>
<lookup-filters>
<lookup-objects>
<object-type name="SCHEMA" enabled="true" />
<object-type name="USER" enabled="false" />
<object-type name="ROLE" enabled="false" />
<object-type name="PRIVILEGE" enabled="false" />
<object-type name="CHARSET" enabled="false" />
<object-type name="TABLE" enabled="true" />
<object-type name="VIEW" enabled="true" />
<object-type name="MATERIALIZED VIEW" enabled="true" />
<object-type name="INDEX" enabled="true" />
<object-type name="CONSTRAINT" enabled="true" />
<object-type name="DATASET TRIGGER" enabled="true" />
<object-type name="DATABASE TRIGGER" enabled="true" />
<object-type name="SYNONYM" enabled="false" />
<object-type name="SEQUENCE" enabled="true" />
<object-type name="PROCEDURE" enabled="true" />
<object-type name="FUNCTION" enabled="true" />
<object-type name="PACKAGE" enabled="true" />
<object-type name="TYPE" enabled="true" />
<object-type name="DIMENSION" enabled="false" />
<object-type name="CLUSTER" enabled="false" />
<object-type name="DBLINK" enabled="true" />
</lookup-objects>
<force-database-load value="false" />
<prompt-connection-selection value="true" />
<prompt-schema-selection value="true" />
</lookup-filters>
</navigation-settings>
<dataset-grid-settings>
<general>
<enable-zooming value="true" />
<enable-column-tooltip value="true" />
</general>
<sorting>
<nulls-first value="true" />
<max-sorting-columns value="4" />
</sorting>
<audit-columns>
<column-names value="" />
<visible value="true" />
<editable value="false" />
</audit-columns>
</dataset-grid-settings>
<dataset-editor-settings>
<text-editor-popup>
<active value="false" />
<active-if-empty value="false" />
<data-length-threshold value="100" />
<popup-delay value="1000" />
</text-editor-popup>
<values-actions-popup>
<show-popup-button value="true" />
<element-count-threshold value="1000" />
<data-length-threshold value="250" />
</values-actions-popup>
<general>
<fetch-block-size value="100" />
<fetch-timeout value="30" />
<trim-whitespaces value="true" />
<convert-empty-strings-to-null value="true" />
<select-content-on-cell-edit value="true" />
<large-value-preview-active value="true" />
</general>
<filters>
<prompt-filter-dialog value="true" />
<default-filter-type value="BASIC" />
</filters>
<qualified-text-editor text-length-threshold="300">
<content-types>
<content-type name="Text" enabled="true" />
<content-type name="Properties" enabled="true" />
<content-type name="XML" enabled="true" />
<content-type name="DTD" enabled="true" />
<content-type name="HTML" enabled="true" />
<content-type name="XHTML" enabled="true" />
<content-type name="SQL" enabled="true" />
<content-type name="PL/SQL" enabled="true" />
<content-type name="JSON" enabled="true" />
<content-type name="JSON5" enabled="true" />
<content-type name="YAML" enabled="true" />
</content-types>
</qualified-text-editor>
<record-navigation>
<navigation-target value="VIEWER" />
</record-navigation>
</dataset-editor-settings>
<code-editor-settings>
<general>
<show-object-navigation-gutter value="false" />
<show-spec-declaration-navigation-gutter value="true" />
<enable-spellchecking value="true" />
<enable-reference-spellchecking value="false" />
</general>
<confirmations>
<save-changes value="false" />
<revert-changes value="true" />
</confirmations>
</code-editor-settings>
<code-completion-settings>
<filters>
<basic-filter>
<filter-element type="RESERVED_WORD" id="keyword" selected="true" />
<filter-element type="RESERVED_WORD" id="function" selected="true" />
<filter-element type="RESERVED_WORD" id="parameter" selected="true" />
<filter-element type="RESERVED_WORD" id="datatype" selected="true" />
<filter-element type="RESERVED_WORD" id="exception" selected="true" />
<filter-element type="OBJECT" id="schema" selected="true" />
<filter-element type="OBJECT" id="role" selected="true" />
<filter-element type="OBJECT" id="user" selected="true" />
<filter-element type="OBJECT" id="privilege" selected="true" />
<user-schema>
<filter-element type="OBJECT" id="table" selected="true" />
<filter-element type="OBJECT" id="view" selected="true" />
<filter-element type="OBJECT" id="materialized view" selected="true" />
<filter-element type="OBJECT" id="index" selected="true" />
<filter-element type="OBJECT" id="constraint" selected="true" />
<filter-element type="OBJECT" id="trigger" selected="true" />
<filter-element type="OBJECT" id="synonym" selected="false" />
<filter-element type="OBJECT" id="sequence" selected="true" />
<filter-element type="OBJECT" id="procedure" selected="true" />
<filter-element type="OBJECT" id="function" selected="true" />
<filter-element type="OBJECT" id="package" selected="true" />
<filter-element type="OBJECT" id="type" selected="true" />
<filter-element type="OBJECT" id="dimension" selected="true" />
<filter-element type="OBJECT" id="cluster" selected="true" />
<filter-element type="OBJECT" id="dblink" selected="true" />
</user-schema>
<public-schema>
<filter-element type="OBJECT" id="table" selected="false" />
<filter-element type="OBJECT" id="view" selected="false" />
<filter-element type="OBJECT" id="materialized view" selected="false" />
<filter-element type="OBJECT" id="index" selected="false" />
<filter-element type="OBJECT" id="constraint" selected="false" />
<filter-element type="OBJECT" id="trigger" selected="false" />
<filter-element type="OBJECT" id="synonym" selected="false" />
<filter-element type="OBJECT" id="sequence" selected="false" />
<filter-element type="OBJECT" id="procedure" selected="false" />
<filter-element type="OBJECT" id="function" selected="false" />
<filter-element type="OBJECT" id="package" selected="false" />
<filter-element type="OBJECT" id="type" selected="false" />
<filter-element type="OBJECT" id="dimension" selected="false" />
<filter-element type="OBJECT" id="cluster" selected="false" />
<filter-element type="OBJECT" id="dblink" selected="false" />
</public-schema>
<any-schema>
<filter-element type="OBJECT" id="table" selected="true" />
<filter-element type="OBJECT" id="view" selected="true" />
<filter-element type="OBJECT" id="materialized view" selected="true" />
<filter-element type="OBJECT" id="index" selected="true" />
<filter-element type="OBJECT" id="constraint" selected="true" />
<filter-element type="OBJECT" id="trigger" selected="true" />
<filter-element type="OBJECT" id="synonym" selected="true" />
<filter-element type="OBJECT" id="sequence" selected="true" />
<filter-element type="OBJECT" id="procedure" selected="true" />
<filter-element type="OBJECT" id="function" selected="true" />
<filter-element type="OBJECT" id="package" selected="true" />
<filter-element type="OBJECT" id="type" selected="true" />
<filter-element type="OBJECT" id="dimension" selected="true" />
<filter-element type="OBJECT" id="cluster" selected="true" />
<filter-element type="OBJECT" id="dblink" selected="true" />
</any-schema>
</basic-filter>
<extended-filter>
<filter-element type="RESERVED_WORD" id="keyword" selected="true" />
<filter-element type="RESERVED_WORD" id="function" selected="true" />
<filter-element type="RESERVED_WORD" id="parameter" selected="true" />
<filter-element type="RESERVED_WORD" id="datatype" selected="true" />
<filter-element type="RESERVED_WORD" id="exception" selected="true" />
<filter-element type="OBJECT" id="schema" selected="true" />
<filter-element type="OBJECT" id="user" selected="true" />
<filter-element type="OBJECT" id="role" selected="true" />
<filter-element type="OBJECT" id="privilege" selected="true" />
<user-schema>
<filter-element type="OBJECT" id="table" selected="true" />
<filter-element type="OBJECT" id="view" selected="true" />
<filter-element type="OBJECT" id="materialized view" selected="true" />
<filter-element type="OBJECT" id="index" selected="true" />
<filter-element type="OBJECT" id="constraint" selected="true" />
<filter-element type="OBJECT" id="trigger" selected="true" />
<filter-element type="OBJECT" id="synonym" selected="true" />
<filter-element type="OBJECT" id="sequence" selected="true" />
<filter-element type="OBJECT" id="procedure" selected="true" />
<filter-element type="OBJECT" id="function" selected="true" />
<filter-element type="OBJECT" id="package" selected="true" />
<filter-element type="OBJECT" id="type" selected="true" />
<filter-element type="OBJECT" id="dimension" selected="true" />
<filter-element type="OBJECT" id="cluster" selected="true" />
<filter-element type="OBJECT" id="dblink" selected="true" />
</user-schema>
<public-schema>
<filter-element type="OBJECT" id="table" selected="true" />
<filter-element type="OBJECT" id="view" selected="true" />
<filter-element type="OBJECT" id="materialized view" selected="true" />
<filter-element type="OBJECT" id="index" selected="true" />
<filter-element type="OBJECT" id="constraint" selected="true" />
<filter-element type="OBJECT" id="trigger" selected="true" />
<filter-element type="OBJECT" id="synonym" selected="true" />
<filter-element type="OBJECT" id="sequence" selected="true" />
<filter-element type="OBJECT" id="procedure" selected="true" />
<filter-element type="OBJECT" id="function" selected="true" />
<filter-element type="OBJECT" id="package" selected="true" />
<filter-element type="OBJECT" id="type" selected="true" />
<filter-element type="OBJECT" id="dimension" selected="true" />
<filter-element type="OBJECT" id="cluster" selected="true" />
<filter-element type="OBJECT" id="dblink" selected="true" />
</public-schema>
<any-schema>
<filter-element type="OBJECT" id="table" selected="true" />
<filter-element type="OBJECT" id="view" selected="true" />
<filter-element type="OBJECT" id="materialized view" selected="true" />
<filter-element type="OBJECT" id="index" selected="true" />
<filter-element type="OBJECT" id="constraint" selected="true" />
<filter-element type="OBJECT" id="trigger" selected="true" />
<filter-element type="OBJECT" id="synonym" selected="true" />
<filter-element type="OBJECT" id="sequence" selected="true" />
<filter-element type="OBJECT" id="procedure" selected="true" />
<filter-element type="OBJECT" id="function" selected="true" />
<filter-element type="OBJECT" id="package" selected="true" />
<filter-element type="OBJECT" id="type" selected="true" />
<filter-element type="OBJECT" id="dimension" selected="true" />
<filter-element type="OBJECT" id="cluster" selected="true" />
<filter-element type="OBJECT" id="dblink" selected="true" />
</any-schema>
</extended-filter>
</filters>
<sorting enabled="true">
<sorting-element type="RESERVED_WORD" id="keyword" />
<sorting-element type="RESERVED_WORD" id="datatype" />
<sorting-element type="OBJECT" id="column" />
<sorting-element type="OBJECT" id="table" />
<sorting-element type="OBJECT" id="view" />
<sorting-element type="OBJECT" id="materialized view" />
<sorting-element type="OBJECT" id="index" />
<sorting-element type="OBJECT" id="constraint" />
<sorting-element type="OBJECT" id="trigger" />
<sorting-element type="OBJECT" id="synonym" />
<sorting-element type="OBJECT" id="sequence" />
<sorting-element type="OBJECT" id="procedure" />
<sorting-element type="OBJECT" id="function" />
<sorting-element type="OBJECT" id="package" />
<sorting-element type="OBJECT" id="type" />
<sorting-element type="OBJECT" id="dimension" />
<sorting-element type="OBJECT" id="cluster" />
<sorting-element type="OBJECT" id="dblink" />
<sorting-element type="OBJECT" id="schema" />
<sorting-element type="OBJECT" id="role" />
<sorting-element type="OBJECT" id="user" />
<sorting-element type="RESERVED_WORD" id="function" />
<sorting-element type="RESERVED_WORD" id="parameter" />
</sorting>
<format>
<enforce-code-style-case value="true" />
</format>
</code-completion-settings>
<execution-engine-settings>
<statement-execution>
<fetch-block-size value="100" />
<execution-timeout value="20" />
<debug-execution-timeout value="600" />
<focus-result value="false" />
<prompt-execution value="false" />
</statement-execution>
<script-execution>
<command-line-interfaces />
<execution-timeout value="300" />
</script-execution>
<method-execution>
<execution-timeout value="30" />
<debug-execution-timeout value="600" />
<parameter-history-size value="10" />
</method-execution>
</execution-engine-settings>
<operation-settings>
<transactions>
<uncommitted-changes>
<on-project-close value="ASK" />
<on-disconnect value="ASK" />
<on-autocommit-toggle value="ASK" />
</uncommitted-changes>
<multiple-uncommitted-changes>
<on-commit value="ASK" />
<on-rollback value="ASK" />
</multiple-uncommitted-changes>
</transactions>
<session-browser>
<disconnect-session value="ASK" />
<kill-session value="ASK" />
<reload-on-filter-change value="false" />
</session-browser>
<compiler>
<compile-type value="KEEP" />
<compile-dependencies value="ASK" />
<always-show-controls value="false" />
</compiler>
<debugger>
<debugger-type value="JDBC" />
<use-generic-runners value="true" />
</debugger>
</operation-settings>
<ddl-file-settings>
<extensions>
<mapping file-type-id="VIEW" extensions="vw" />
<mapping file-type-id="TRIGGER" extensions="trg" />
<mapping file-type-id="PROCEDURE" extensions="prc" />
<mapping file-type-id="FUNCTION" extensions="fnc" />
<mapping file-type-id="PACKAGE" extensions="pkg" />
<mapping file-type-id="PACKAGE_SPEC" extensions="pks" />
<mapping file-type-id="PACKAGE_BODY" extensions="pkb" />
<mapping file-type-id="TYPE" extensions="tpe" />
<mapping file-type-id="TYPE_SPEC" extensions="tps" />
<mapping file-type-id="TYPE_BODY" extensions="tpb" />
</extensions>
<general>
<lookup-ddl-files value="true" />
<create-ddl-files value="false" />
<synchronize-ddl-files value="true" />
<use-qualified-names value="false" />
<make-scripts-rerunnable value="true" />
</general>
</ddl-file-settings>
<general-settings>
<regional-settings>
<date-format value="MEDIUM" />
<number-format value="UNGROUPED" />
<locale value="SYSTEM_DEFAULT" />
<use-custom-formats value="false" />
</regional-settings>
<environment>
<environment-types>
<environment-type id="development" name="Development" description="Development environment" color="-2430209/-12296320" readonly-code="false" readonly-data="false" />
<environment-type id="integration" name="Integration" description="Integration environment" color="-2621494/-12163514" readonly-code="true" readonly-data="false" />
<environment-type id="production" name="Production" description="Productive environment" color="-11574/-10271420" readonly-code="true" readonly-data="true" />
<environment-type id="other" name="Other" description="" color="-1576/-10724543" readonly-code="false" readonly-data="false" />
</environment-types>
<visibility-settings>
<connection-tabs value="true" />
<dialog-headers value="true" />
<object-editor-tabs value="true" />
<script-editor-tabs value="false" />
<execution-result-tabs value="true" />
</visibility-settings>
</environment>
</general-settings>
</component>
</project>
\ No newline at end of file
<component name="InspectionProjectProfileManager">
<profile version="1.0">
<option name="myName" value="Project Default" />
<inspection_tool class="PyPep8NamingInspection" enabled="true" level="WEAK WARNING" enabled_by_default="true">
<option name="ignoredErrors">
<list>
<option value="N802" />
<option value="N806" />
</list>
</option>
</inspection_tool>
</profile>
</component>
\ No newline at end of file
<component name="InspectionProjectProfileManager">
<settings>
<option name="USE_PROJECT_PROFILE" value="false" />
<version value="1.0" />
</settings>
</component>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ProjectRootManager" version="2" project-jdk-name="Python 3.11 (ticket)" project-jdk-type="Python SDK" />
</project>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ProjectModuleManager">
<modules>
<module fileurl="file://$PROJECT_DIR$/.idea/ticket.iml" filepath="$PROJECT_DIR$/.idea/ticket.iml" />
</modules>
</component>
</project>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<module type="PYTHON_MODULE" version="4">
<component name="NewModuleRootManager">
<content url="file://$MODULE_DIR$" />
<orderEntry type="inheritedJdk" />
<orderEntry type="sourceFolder" forTests="false" />
</component>
</module>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="VcsDirectoryMappings">
<mapping directory="$PROJECT_DIR$" vcs="Git" />
</component>
</project>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="AutoImportSettings">
<option name="autoReloadType" value="SELECTIVE" />
</component>
<component name="ChangeListManager">
<list default="true" id="275674d2-180a-476b-9c51-fd034cf9ecee" name="Changes" comment="" />
<option name="SHOW_DIALOG" value="false" />
<option name="HIGHLIGHT_CONFLICTS" value="true" />
<option name="HIGHLIGHT_NON_ACTIVE_CHANGELIST" value="false" />
<option name="LAST_RESOLUTION" value="IGNORE" />
</component>
<component name="FileTemplateManagerImpl">
<option name="RECENT_TEMPLATES">
<list>
<option value="Python Script" />
</list>
</option>
</component>
<component name="MarkdownSettingsMigration">
<option name="stateVersion" value="1" />
</component>
<component name="ProjectId" id="2LX3ML0vNE8CS352i9pFT1Ke37x" />
<component name="ProjectViewState">
<option name="hideEmptyMiddlePackages" value="true" />
<option name="showLibraryContents" value="true" />
</component>
<component name="PropertiesComponent"><![CDATA[{
"keyToString": {
"RunOnceActivity.OpenProjectViewOnStart": "true",
"RunOnceActivity.ShowReadmeOnStart": "true",
"settings.editor.selected.configurable": "preferences.lookFeel"
}
}]]></component>
<component name="RecentsManager">
<key name="MoveFile.RECENT_KEYS">
<recent name="C:\Users\rakesh.pv\PycharmProjects\ticket\scripts\utils" />
</key>
</component>
<component name="RunManager" selected="Python.booking_ticket">
<configuration name="booking_ticket" type="PythonConfigurationType" factoryName="Python" temporary="true" nameIsGenerated="true">
<module name="ticket" />
<option name="INTERPRETER_OPTIONS" value="" />
<option name="PARENT_ENVS" value="true" />
<envs>
<env name="PYTHONUNBUFFERED" value="1" />
</envs>
<option name="SDK_HOME" value="" />
<option name="WORKING_DIRECTORY" value="$PROJECT_DIR$/scripts/core/handlers" />
<option name="IS_MODULE_SDK" value="true" />
<option name="ADD_CONTENT_ROOTS" value="true" />
<option name="ADD_SOURCE_ROOTS" value="true" />
<option name="SCRIPT_NAME" value="$PROJECT_DIR$/scripts/core/handlers/booking_ticket.py" />
<option name="PARAMETERS" value="" />
<option name="SHOW_COMMAND_LINE" value="false" />
<option name="EMULATE_TERMINAL" value="false" />
<option name="MODULE_MODE" value="false" />
<option name="REDIRECT_INPUT" value="false" />
<option name="INPUT_FILE" value="" />
<method v="2" />
</configuration>
<configuration name="main" type="PythonConfigurationType" factoryName="Python" temporary="true" nameIsGenerated="true">
<module name="ticket" />
<option name="INTERPRETER_OPTIONS" value="" />
<option name="PARENT_ENVS" value="true" />
<envs>
<env name="PYTHONUNBUFFERED" value="1" />
</envs>
<option name="SDK_HOME" value="" />
<option name="WORKING_DIRECTORY" value="$PROJECT_DIR$" />
<option name="IS_MODULE_SDK" value="true" />
<option name="ADD_CONTENT_ROOTS" value="true" />
<option name="ADD_SOURCE_ROOTS" value="true" />
<option name="SCRIPT_NAME" value="$PROJECT_DIR$/main.py" />
<option name="PARAMETERS" value="" />
<option name="SHOW_COMMAND_LINE" value="false" />
<option name="EMULATE_TERMINAL" value="false" />
<option name="MODULE_MODE" value="false" />
<option name="REDIRECT_INPUT" value="false" />
<option name="INPUT_FILE" value="" />
<method v="2" />
</configuration>
<configuration name="test" type="PythonConfigurationType" factoryName="Python" temporary="true" nameIsGenerated="true">
<module name="ticket" />
<option name="INTERPRETER_OPTIONS" value="" />
<option name="PARENT_ENVS" value="true" />
<envs>
<env name="PYTHONUNBUFFERED" value="1" />
</envs>
<option name="SDK_HOME" value="" />
<option name="WORKING_DIRECTORY" value="$PROJECT_DIR$" />
<option name="IS_MODULE_SDK" value="true" />
<option name="ADD_CONTENT_ROOTS" value="true" />
<option name="ADD_SOURCE_ROOTS" value="true" />
<option name="SCRIPT_NAME" value="$PROJECT_DIR$/test.py" />
<option name="PARAMETERS" value="" />
<option name="SHOW_COMMAND_LINE" value="false" />
<option name="EMULATE_TERMINAL" value="false" />
<option name="MODULE_MODE" value="false" />
<option name="REDIRECT_INPUT" value="false" />
<option name="INPUT_FILE" value="" />
<method v="2" />
</configuration>
<recent_temporary>
<list>
<item itemvalue="Python.booking_ticket" />
<item itemvalue="Python.test" />
<item itemvalue="Python.main" />
</list>
</recent_temporary>
</component>
<component name="SpellCheckerSettings" RuntimeDictionaries="0" Folders="0" CustomDictionaries="0" DefaultDictionary="application-level" UseSingleDictionary="true" transferred="true" />
<component name="TaskManager">
<task active="true" id="Default" summary="Default task">
<changelist id="275674d2-180a-476b-9c51-fd034cf9ecee" name="Changes" comment="" />
<created>1676003551256</created>
<option name="number" value="Default" />
<option name="presentableId" value="Default" />
<updated>1676003551256</updated>
</task>
<servers />
</component>
</project>
\ No newline at end of file
[MQTT_Connection]
broker = 192.168.0.220
port = 1883
[redis_connection]
host = 127.0.0.1
redis_port = 6379
from configparser import ConfigParser
try:
config = ConfigParser()
config.read("conf/application.conf")
host = config.get("redis_connection", "host")
redis_port = config.get("redis_connection", "redis_port")
cache_db = config.get("redis_connection", "cache_db")
except Exception as e:
print("Exception-", e)
MQTT_HOST = "192.168.0.220"
MQTT_PORT = 1883
MQTT_TOPIC = 'cinema'
import redis
try:
r = redis.StrictRedis(host="127.0.0.1", port=6379)
except Exception as e:
print("Exception occurred due to \"", e, "\"")
import datetime
import json
import sys
import time
from datetime import date
from random import random
from random import seed
import paho.mqtt.client as mqtt
from scripts.core.config.mqtt_connection import MQTT_HOST, MQTT_TOPIC, MQTT_PORT
from scripts.core.config.redis_connection import r
name = ["username"] * 28
phone_number = [000000000] * 28
travel_date = "dd mm yyyy"
travel_time = "00:00"
today_date = datetime.datetime.now() # getting today's date and formatting it
from datetime import datetime
today_time = datetime.now().strftime("%H:%M") # getting today's time and formatting it
total_number_of_seats = 0
counter = 0
current_user_number = 0
cost = 0.0
occupied_seats = [False, False, # row 1
False, False, # row 2z
False, False, False, False, # row 3
True, False, False, False, # row 4
False, False, True, True, # row 5
True, True, True, False, False, False, # row 6
False, True, True, True, True, False, # row 7
True, False, False, False, False, True, # row 8
True, True, False, False, False, False, # row 9
False, False, False, True, True, True, # row 10
True, True, True, True, True, True] # row 11
all_seats = ["1A", "1F", "2A", "2F",
"3A", "3B", "3E", "3F",
"4A", "4B", "4E", "4F",
"5A", "5B", "5E", "5F",
"6A", "6B", "6C", "6D", "6E", "6F", "7A", "7B", "7C", "7D", "7E", "7F", "8A", "8B", "8C", "8D", "8E", "8F",
"9A", "9B", "9C", "9D", "9E", "9F", "10A", "10B", "10C", "10D", "10E", "10F",
"11A", "11B", "11C", "11D", "11E", "11F"]
number_of_seats_booked = 0
users_seat = ["nothing here"] * 28
all_seats_index = 0
def display_welcome():
print(" welcome to pv cinemas")
print(" pv cinemas GOLD SEATS\n3A,3B,3E,3F,"
"\n4A,4B, 4E,4F"
"\n5A,5B,5E,5F")
print("pv cinemas SILVER SEATS\n")
def constant_details():
global total_number_of_seats
global counter
global travel_date
global today_date
global travel_time
global today_time
total_number_of_seats = input("Total number of reservations: ")
available_number_of_seats = 0
for i in range(0, len(occupied_seats)):
if occupied_seats[i]:
available_number_of_seats += 1
while True:
if int(total_number_of_seats) == 0:
print(" total number of seats available is", available_number_of_seats)
total_number_of_seats = input(f"invalid : retry")
elif 0 >= int(total_number_of_seats):
total_number_of_seats = input(f"invalid retry ")
elif int(total_number_of_seats) >= available_number_of_seats:
print(" total number of seats available is", available_number_of_seats)
total_number_of_seats = input(f"such many seats not there")
else:
break
# declaring the value of counter
counter = int(total_number_of_seats)
counter = counter - 1
while True:
dt, mt, yt = [int(x) for x in input("Enter Travel Date (dd/mm/yyyy): ").split('/')]
travel_date = date(yt, mt, dt)
its_todays_date = False
its_a_proper_date = False
its_an_invalid_date = True
if int(today_date.month) == int(mt):
its_a_proper_date = True
if int(today_date.year) == int(yt) and int(today_date.month) == int(mt) and int(today_date.day) == int(dt):
its_todays_date = True
its_an_invalid_date = False
its_a_proper_date = False
elif int(today_date.year) < int(yt):
its_todays_date = False
its_an_invalid_date = False
its_a_proper_date = True
elif int(today_date.year) == int(yt):
if int(today_date.month) < int(mt):
its_todays_date = False
its_an_invalid_date = False
its_a_proper_date = True
elif int(today_date.year) == int(yt):
if int(today_date.month) == int(mt):
if int(today_date.day) < int(dt):
its_todays_date = False
its_an_invalid_date = False
its_a_proper_date = True
flag1 = False
flag2 = False
if its_todays_date:
travel_time = input("date is today : enter time {00:00} ")
while True:
if today_time > travel_time:
travel_time = input("invalid time")
else:
break
break
elif its_a_proper_date:
flag1 = False
flag2 = False
travel_time = input("enter time {00:00}")
while True:
if int(travel_time[0:2]) > 23:
travel_time = input(f"INVALID TIMINGS "
f"Please enter the correct timings: ")
flag1 = True
if int(travel_time[3:5]) > 59:
travel_time = input(f"INVALID MINUTES "
f"Please enter the correct timings: ")
flag2 = True
if flag1 or flag2:
flag1 = False
flag2 = False
continue
else:
break
break
elif its_an_invalid_date:
print(f"invalid")
continue
def variable_information():
global name
global phone_number
global current_user_number
# accepting the name of the user
name[current_user_number] = input("Your name please: ") # accepting the users name
phone_number = input("Enter your phone number: ")
while True:
if not phone_number.isdigit():
phone_number = input("invalid ")
else:
break
while len(phone_number) != 10:
print("invalid")
phone_number = input("Please enter the phone number: ")
display_aeroplane_seat()
def display_aeroplane_seat():
global occupied_seats
global all_seats
# displaying First Class
print(" " + f"GOLD PV SEATS" + " ")
for i in range(4, 16):
# displaying 3A, 4A and 5A with colour code
if occupied_seats[i] and (i == 4 or i == 8 or i == 12):
print("[] " + f"{all_seats[i]}", end=" ")
elif not occupied_seats[i] and (i == 4 or i == 8 or i == 12):
print("[] " + f"{all_seats[i]}", end=" ")
# displaying 3B, 4B and 5B with colour coding
if occupied_seats[i] and (i == 5 or i == 9 or i == 13):
print(f"{all_seats[i]}", end=" ")
elif not occupied_seats[i] and (i == 5 or i == 9 or i == 13):
print(f"{all_seats[i]}", end=" ")
# displaying 3E, 4E and 5E with colour coding
if occupied_seats[i] and (i == 6 or i == 10 or i == 14):
print(f"{all_seats[i]}", end=" ")
elif not occupied_seats[i] and (i == 6 or i == 10 or i == 14):
print(f"{all_seats[i]}", end=" ")
# displaying 3F, 4F and 5F with colour coding
if occupied_seats[i] and (i == 7 or i == 11 or i == 15):
print(f"{all_seats[i]}" + " []", end="\n")
elif not occupied_seats[i] and (i == 7 or i == 11 or i == 15):
print(f"{all_seats[i]}" + " []", end="\n")
# displaying Economy Class
print(" " + f"SILVER PV SEATS" + " ")
for i in range(16, 52):
# displaying 6A, 7A, 8A and 9A with colour code
if occupied_seats[i] and (i == 16 or i == 22 or i == 28 or i == 34):
print("[] " + f"{all_seats[i]}", end=" ")
elif not occupied_seats[i] and (i == 16 or i == 22 or i == 28 or i == 34):
print("[] " + f"{all_seats[i]}", end=" ")
# displaying 6B, 7B, 8B and 9B with colour code
if occupied_seats[i] and (i == 17 or i == 23 or i == 29 or i == 35):
print(f"{all_seats[i]}", end=" ")
elif not occupied_seats[i] and (i == 17 or i == 23 or i == 29 or i == 35):
print(f"{all_seats[i]}", end=" ")
# displaying 6C, 7C, 8C and 9C with colour code
if occupied_seats[i] and (i == 18 or i == 24 or i == 30 or i == 36):
print(f"{all_seats[i]}", end=" ")
elif not occupied_seats[i] and (i == 18 or i == 24 or i == 30 or i == 36):
print(f"{all_seats[i]}", end=" ")
# displaying 6D, 7D, 8D and 9D with colour coding
if occupied_seats[i] and (i == 19 or i == 25 or i == 31 or i == 37):
print(f"{all_seats[i]}", end=" ")
elif not occupied_seats[i] and (i == 19 or i == 25 or i == 31 or i == 37):
print(f"{all_seats[i]}", end=" ")
# displaying 6E, 7E, 8E and 9E with colour coding
if occupied_seats[i] and (i == 20 or i == 26 or i == 32 or i == 38):
print(f"{all_seats[i]}", end=" ")
elif not occupied_seats[i] and (i == 20 or i == 26 or i == 32 or i == 38):
print(f"{all_seats[i]}", end=" ")
# displaying 6F, 7F, 8F and 9F with colour coding
if occupied_seats[i] and (i == 21 or i == 27 or i == 33 or i == 39):
print(f"{all_seats[i]}" + " []", end="\n")
elif not occupied_seats[i] and (i == 21 or i == 27 or i == 33 or i == 39):
print(f"{all_seats[i]}" + " []", end="\n")
for i in range(40, 52):
# displaying 10A and 11A with colour code
if occupied_seats[i] and (i == 40 or i == 46):
print("[] " + f"{all_seats[i]}", end=" ")
elif not occupied_seats[i] and (i == 40 or i == 46):
print("[] " + f"{all_seats[i]}", end=" ")
# displaying 6B, 7B, 8B and 9B with colour code
if occupied_seats[i] and (i == 41 or i == 47):
print(f"{all_seats[i]}", end=" ")
elif not occupied_seats[i] and (i == 41 or i == 47):
print(f"{all_seats[i]}", end=" ")
# displaying 6C, 7C, 8C and 9C with colour code
if occupied_seats[i] and (i == 42 or i == 48):
print(f"{all_seats[i]}", end=" ")
elif not occupied_seats[i] and (i == 42 or i == 48):
print(f"{all_seats[i]}", end=" ")
# displaying 6D, 7D, 8D and 9D with colour coding
if occupied_seats[i] and (i == 43 or i == 49):
print(f"{all_seats[i]}", end=" ")
elif not occupied_seats[i] and (i == 43 or i == 49):
print(f"{all_seats[i]}", end=" ")
# displaying 6E, 7E, 8E and 9E with colour coding
if occupied_seats[i] and (i == 44 or i == 50):
print(f"{all_seats[i]}", end=" ")
elif not occupied_seats[i] and (i == 44 or i == 50):
print(f"{all_seats[i]}", end=" ")
# displaying 6F, 7F, 8F and 9F with colour coding
if occupied_seats[i] and (i == 45 or i == 51):
print(f"{all_seats[i]}" + " []", end="\n")
elif not occupied_seats[i] and (i == 45 or i == 51):
print(f"{all_seats[i]}" + " []", end="\n")
accept_users_seat()
def accept_users_seat(): # accepting the users seat number ---------------------------------------------------
global number_of_seats_booked
global users_seat
global all_seats_index
global occupied_seats
global counter
global current_user_number
while True:
if current_user_number <= counter:
# accepting users seat
users_seat[number_of_seats_booked] = input(f"Please enter the seat "
f"that you want to book: ")
# finding index of all seats
for j in range(0, len(all_seats)):
if all_seats[j] == users_seat[number_of_seats_booked]:
all_seats_index = j
if occupied_seats[all_seats_index]:
print(f"That seat has already been booked/reserved"
f"")
continue
elif not occupied_seats[all_seats_index]:
occupied_seats[all_seats_index] = True
number_of_seats_booked += 1
print(
f"Your seat {users_seat[number_of_seats_booked - 1]} has been booked")
current_user_number = current_user_number + 1
time.sleep(3)
# printing 40 lines of space:
print("\n" * 40)
if current_user_number <= counter:
variable_information()
display_boarding_pass()
def display_boarding_pass(): # displaying boarding pass --------------------------------------------------------
global users_seat
global name
global number_of_seats_booked
global cost
global type_of_class
print("\n" * 40)
print(f"Boarding Pass for all the seats that you booked:"
f"")
seed(10)
_date = str(travel_date)
value = random() * 10
for i in range(0, number_of_seats_booked):
seat_booked = users_seat[i]
seat_type = seat_booked[0]
if int(seat_type) <= 2:
cost = 100000
type_of_class = " GOLD"
else:
cost = 10000
type_of_class = "silver"
# I know you want to change the travels name? ↓↓↓
print(" PV CINEMAS ")
print(f" MOVIE HALL PASS ")
print(f" customer name " + name[i] + "Seat Number: " + users_seat[i])
print(f" " + " type of class " + type_of_class)
print(f" customer phone " + str(phone_number))
print(f"number of seats booked is " + str(number_of_seats_booked))
movie_details = {
"name of customer": name[i],
"type of class": type_of_class,
"customer phone": phone_number,
"numbe of seats booked": number_of_seats_booked
}
r.set(users_seat[i], json.dumps(movie_details))
mqttc = mqtt.Client()
mqttc.connect(MQTT_HOST, MQTT_PORT)
mqttc.publish(MQTT_TOPIC, json.dumps(movie_details))
mqttc.subscribe(MQTT_TOPIC)
mqttc.loop_forever()
print()
sys.exit()
# calling the methods
while True:
display_welcome()
constant_details()
variable_information()
display_boarding_pass()
class bcolors:
HEADER = '\033[95m'
OKBLUE = '\033[94m'
OKCYAN = '\033[96m'
OKGREEN = '\033[92m'
WARNING = '\033[93m'
FAIL = '\033[91m'
ENDC = '\033[0m'
BOLD = '\033[1m'
UNDERLINE = '\033[4m'
\ No newline at end of file
while True:
print(" 1 2 3 \n"
" 4 5 6 \n"
"7 8 9 \n")
x=int(input(" enter no og booking"))
if x>5:
print(" not possible")
else:
arr=[]
counter=0
while counter <x:
booked = []
s=int(input(" enter seat no"))
arr.append(s)
for i in arr:
booked.append(i)
print(" booked seat are",booked)
counter = counter + 1
if counter==x:
print(" seat are reserved")
def check_for_new_seat():
list1=[]
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment