From b9cac9bb26fe388abff34fa4fc562b0804cabb2e Mon Sep 17 00:00:00 2001 From: Jeffrey Armstrong Date: Thu, 6 May 2021 10:17:52 -0400 Subject: Fixed spelling of captain. --- captain/captain.f90 | 140 +++++++++++++++++++++++++++++++++++++++++ captain/captian.f90 | 140 ----------------------------------------- captain/levitating-captain.prj | 2 +- 3 files changed, 141 insertions(+), 141 deletions(-) create mode 100644 captain/captain.f90 delete mode 100644 captain/captian.f90 (limited to 'captain') diff --git a/captain/captain.f90 b/captain/captain.f90 new file mode 100644 index 0000000..76ea768 --- /dev/null +++ b/captain/captain.f90 @@ -0,0 +1,140 @@ +! Copyright (c) 2021 Approximatrix, LLC +! +! Permission is hereby granted, free of charge, to any person obtaining a copy +! of this software and associated documentation files (the "Software"), to deal +! in the Software without restriction, including without limitation the rights +! to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +! copies of the Software, and to permit persons to whom the Software is +! furnished to do so, subject to the following conditions: +! +! The above copyright notice and this permission notice shall be included in +! all copies or substantial portions of the Software. +! +! The Software shall be used for Good, not Evil. +! +! THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +! IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +! FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +! AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +! LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +! OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +! SOFTWARE. + +program captain +use captain_db +use config +use logging, only: initialize_log => initialize, shutdown_log => shutdown, write_log, LOG_INFO +use gemini, only: handle_gemini => handle_request +use web, only: handle_web => handle_request +implicit none + + integer::mode + integer, parameter::MODE_GEMINI = 1, & + MODE_CGI_HTML = 2 + + call random_seed() ! For possible crypto + + call parse_options() + + call initialize_log(log_filename, loglevel) + + call initialize_db(database_filename) + + select case(mode) + case(MODE_GEMINI) + call handle_gemini() + case(MODE_CGI_HTML) + call handle_web() + end select + + call shutdown_db() + + call write_log("Process complete", LOG_INFO) + + call shutdown_log() + +contains + + subroutine usage() + implicit none + + character(len=256)::pname + + call get_command_argument(0, pname) + + Print *, "Usage: "//trim(pname)//" " + Print *, " " + + Print *, "Options:" + Print *, " -h Display this help" + Print *, " -c Use the specified config file" + Print *, " -g Operate in Gemini mode" + Print *, " -w Operate in CGI mode (default)" + Print *, " " + Print *, "Config file can also be specified via the environment variables:" + Print *, " LEVITATING_CONFIG_CGI Path to config for CGI mode" + Print *, " LEVITATING_CONFIG_GEMINI Path to config for Gemini mode" + + end subroutine usage + + subroutine parse_options + use config + implicit none + + character(len=1024)::option + logical::config_loaded + integer::i + + config_loaded = .false. + mode = MODE_CGI_HTML + loglevel = 3 + + i = 1 + do while(i <= command_argument_count()) + call get_command_argument(i, option) + + if(trim(option) == "-h") then + call usage() + stop + + else if(trim(option) == "-g") then + mode = MODE_GEMINI + + else if(trim(option) == "-c") then + i = i + 1 + call get_command_argument(i, option) + call load_configuration(trim(option)) + config_loaded = .true. + + end if + + i = i + 1 + end do + + if(.not. config_loaded) then + call get_environment_variable("LEVITATING_CONFIG_CGI", value=option, status=i) + if(i == 0) then + call load_configuration(trim(option)) + config_loaded = .true. + mode = MODE_CGI_HTML + end if + end if + + if(.not. config_loaded) then + call get_environment_variable("LEVITATING_CONFIG_GEMINI", value=option, status=i) + if(i == 0) then + call load_configuration(trim(option)) + config_loaded = .true. + mode = MODE_GEMINI + end if + end if + + ! Assign working directory from command if not specified + if(.not. config_loaded) then + Print *, "No configuration file specified" + stop + end if + + end subroutine parse_options + +end program captain \ No newline at end of file diff --git a/captain/captian.f90 b/captain/captian.f90 deleted file mode 100644 index 76ea768..0000000 --- a/captain/captian.f90 +++ /dev/null @@ -1,140 +0,0 @@ -! Copyright (c) 2021 Approximatrix, LLC -! -! Permission is hereby granted, free of charge, to any person obtaining a copy -! of this software and associated documentation files (the "Software"), to deal -! in the Software without restriction, including without limitation the rights -! to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -! copies of the Software, and to permit persons to whom the Software is -! furnished to do so, subject to the following conditions: -! -! The above copyright notice and this permission notice shall be included in -! all copies or substantial portions of the Software. -! -! The Software shall be used for Good, not Evil. -! -! THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -! IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -! FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -! AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -! LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -! OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -! SOFTWARE. - -program captain -use captain_db -use config -use logging, only: initialize_log => initialize, shutdown_log => shutdown, write_log, LOG_INFO -use gemini, only: handle_gemini => handle_request -use web, only: handle_web => handle_request -implicit none - - integer::mode - integer, parameter::MODE_GEMINI = 1, & - MODE_CGI_HTML = 2 - - call random_seed() ! For possible crypto - - call parse_options() - - call initialize_log(log_filename, loglevel) - - call initialize_db(database_filename) - - select case(mode) - case(MODE_GEMINI) - call handle_gemini() - case(MODE_CGI_HTML) - call handle_web() - end select - - call shutdown_db() - - call write_log("Process complete", LOG_INFO) - - call shutdown_log() - -contains - - subroutine usage() - implicit none - - character(len=256)::pname - - call get_command_argument(0, pname) - - Print *, "Usage: "//trim(pname)//" " - Print *, " " - - Print *, "Options:" - Print *, " -h Display this help" - Print *, " -c Use the specified config file" - Print *, " -g Operate in Gemini mode" - Print *, " -w Operate in CGI mode (default)" - Print *, " " - Print *, "Config file can also be specified via the environment variables:" - Print *, " LEVITATING_CONFIG_CGI Path to config for CGI mode" - Print *, " LEVITATING_CONFIG_GEMINI Path to config for Gemini mode" - - end subroutine usage - - subroutine parse_options - use config - implicit none - - character(len=1024)::option - logical::config_loaded - integer::i - - config_loaded = .false. - mode = MODE_CGI_HTML - loglevel = 3 - - i = 1 - do while(i <= command_argument_count()) - call get_command_argument(i, option) - - if(trim(option) == "-h") then - call usage() - stop - - else if(trim(option) == "-g") then - mode = MODE_GEMINI - - else if(trim(option) == "-c") then - i = i + 1 - call get_command_argument(i, option) - call load_configuration(trim(option)) - config_loaded = .true. - - end if - - i = i + 1 - end do - - if(.not. config_loaded) then - call get_environment_variable("LEVITATING_CONFIG_CGI", value=option, status=i) - if(i == 0) then - call load_configuration(trim(option)) - config_loaded = .true. - mode = MODE_CGI_HTML - end if - end if - - if(.not. config_loaded) then - call get_environment_variable("LEVITATING_CONFIG_GEMINI", value=option, status=i) - if(i == 0) then - call load_configuration(trim(option)) - config_loaded = .true. - mode = MODE_GEMINI - end if - end if - - ! Assign working directory from command if not specified - if(.not. config_loaded) then - Print *, "No configuration file specified" - stop - end if - - end subroutine parse_options - -end program captain \ No newline at end of file diff --git a/captain/levitating-captain.prj b/captain/levitating-captain.prj index 5f7ce18..34def04 100644 --- a/captain/levitating-captain.prj +++ b/captain/levitating-captain.prj @@ -65,7 +65,7 @@ "filename":"api.f90", "enabled":"1" },{ - "filename":"captian.f90", + "filename":"captain.f90", "enabled":"1" },{ "filename":"config.f90", -- cgit v1.2.3