RSS Git Download  Clone
Hover over the log to see the full commit message.
  • *
  • *
  • *
  • *
  • *
  • *
  • *
  • *
  • *
  • *
  • *
  • *
  • |\
  • | *
  • | *
  • | *
  • * |
  • |\|
  • | *
  • * |
  • | *
  • |/
  • *
  • *
  • *
  • *
  • *
  • *
  • *
  • *
  • *
  • *
  • *
  • *
  • *
  • *
  • *
  • *
  • *
  • *
  • *
  • *
  • *
  • *
  • *
  • |\
  • | *
  • |/
  • *
  • *
  • *
  • *
  • *
  • *
  • *
  • |\
  • * |
  • | *
  • |/
  • *
  • *
  • *
  • |\
  • | *
  • |/
  • *
  • |\
  • | *
  • |/
  • *
  • *
  • *
  • |\
  • * |
  • | *
  • |/
  • *
  • *
  • *
  • *
  • *
  • *
  • *
  • *
  • *
  • *
  • *
  • *
  • *
  • *
  • *
  • *
  • *
  • *
  • *
  • *
  • *
  • *
  • *
  • *
  • *
  • *
  • *
  • *
  • *
  • *
  • *
  • *
  • *
  • *
  • *
  • *
  • *
  • 19e0ba5 (HEAD -> master) 20/06/2025 07:30:36 by raj   Utils - fixed syntax error, and removed signatures - not supported natively on Perl 5.34
  • 989477a 16/06/2025 07:03:19 by raj   Utils - new method fileopen()
  • a89fa45 28/05/2025 10:26:57 by raj   Utils - new method get_random_element()
  • 6236cc0 23/04/2025 22:42:58 by RAJ   SeleniumRemoteDriver.pm - set defined window-size; added pageLoadStrategy opt to try and speed up page retrieval (probably doesn't)
  • 00b25df 22/04/2025 08:56:45 by RAJ   SeleniumRemoteDriver.pm - add logfile
  • 9b5ceca 19/04/2025 18:30:49 by RAJ   SeleniumRemoteDriver - provide ability to pass debug and disable_images settings at object construction
  • d6b557e 19/04/2025 09:15:10 by RAJ   new Selenium Remote Driver class
  • 4d53bc5 04/04/2025 08:38:52 by RAJ   move dbix.t and its sqlite db to main Local/t dir
  • 29881cd 04/04/2025 08:29:59 by RAJ   Local::DBIx::Simple - add map() method to return hash or hashref, amend row() method to return array or arrayref; fixed dbix.t map_arrays() call, should be requesting hash not array
  • 72fdb0f 07/03/2025 12:37:03 by RAJ   Utils: added pbkdf key to Crypt::CBC->new to silence warnings about deprecated encryption method
  • 7db47e4 07/03/2025 09:45:49 by RAJ   add fatal error if DB::dbix() called without hashref arg
  • 512c30a 07/03/2025 09:42:37 by RAJ   Merge remote-tracking branch 'origin/master'
  • 805899c 14/11/2023 15:03:35 by RAJ   SendGrid need to return 'true'; new Email.m, legacy email class, replaced by SendGrid.pm
  • 2c323ed 14/11/2023 12:14:43 by RAJ   skip 1 failing test - map_arrays() returns different order
  • cda72d2 14/11/2023 11:33:45 by RAJ   CryptLEComplete::complete needs to return 'true'
  • 0539427 17/05/2023 08:10:43 by RAJ   Merge remote-tracking branch 'origin/master'
  • cd3b82f 02/04/2023 09:57:50 by raj   Change SendGrid.pm line-endings to unix, no content changes
  • a985d80 17/03/2023 23:47:49 by RAJ   fix write-excel.t - default xlscat separator no longer passes is() test using current Spreadsheet::Read, using defined ~ separator now; add .gitignore
  • 5e76726 17/03/2023 23:47:49 by raj   fix write-excel.t - default xlscat separator no longer passes is() test using current Spreadsheet::Read, using defined ~ separator now; add .gitignore
  • bb37d31 17/03/2023 15:24:04 by RAJ   * generate manual send() method to troubleshoot Email::SendGrid::V3 internals * validation of message data elements * default email address slurp() requires separate chomp() after switch to perl 5.36.0 - no idea why
  • aa37c1c 10/03/2023 14:47:29 by raj   add default self address; add sandbox and footer options to message object
  • 85a1df6 09/03/2023 23:40:36 by raj   first version of SendGrid
  • 80d7b62 04/03/2023 16:50:39 by raj   new file to test Perl servers (Gazelle, Starman, etc)
  • e2c5c3c 24/05/2021 22:29:08 by RAJ   new List::Compare functions; replaced Carp::Always with Carp::Always::Color
  • d512a47 22/05/2021 09:19:31 by RAJ   new package loader classes
  • d7138e5 09/05/2021 11:48:54 by raj   new SSHTunnel class for remote DB & SCP access
  • 41763bd 01/04/2021 15:16:09 by raj   new function to get and return db name in use
  • 8162cc0 31/03/2021 10:37:39 by raj   fix for mysql gone away error in Dancer2::Session::DBIx - TODO: try to use app model's DBIx
  • 54b5e0d 17/03/2021 12:18:45 by raj   * update D2::Session::DBIx dbix builder to current syntax * new column in sessions table for time session created
  • 692240d 16/03/2021 12:34:01 by raj   * add debug output to CSRF - requires D2 log level core or debug * moved pagination() from RWGPS app to make it universibly usable
  • 0cc70ab 14/03/2021 18:16:57 by raj   new functions to convert date to human readable form & function to handle git log
  • 2a5e5a8 11/03/2021 15:37:17 by raj   reversed previous change, better to escape col spaceslocally in caller when col names known to have spaces, rather than global
  • d39acb5 11/03/2021 11:58:45 by raj   modify get_cols() to handle spaces in col name
  • 944a5ad 18/02/2021 12:20:06 by RAJ   replace Modern::Perl with use perl <version>
  • 926448a 05/11/2019 23:22:02 by RAJ   Improve output from dump_query
  • 5233527 23/08/2019 09:11:30 by RAJ   adapt DB::get_tables for SQLite; new Utils method to convert date string to DateTime
  • 5ff9cca 03/06/2019 11:49:21 by RAJ   new DB function get_tables
  • a9cb378 30/05/2019 10:18:34 by RAJ   QueryLog - adjust white-space handling, don't split on commas within brackets, INNER/LEFT OUTER require grouping before space
  • c91b6ec 17/05/2019 12:51:32 by RAJ   bugfix - single-quotes need manual escape in query formatter
  • d5e4e09 17/05/2019 12:30:27 by RAJ   QueryLogger * improve documentation * move some global vars to constants * SQL::Abstract::Tree or manual query formatting configured by env param * simplify coloured console output using Term::ANSIColor::Simple * add LIMIT to keywords for manual formatting
  • f8b6a78 15/05/2019 16:33:34 by RAJ   QueryLog - apply new-lines to comma-seperated list only for SELECT vars (makes mess of INSERT's); add 'VALUES' to list of keywords for formatting
  • d5d8e20 15/05/2019 14:06:32 by RAJ   Merge branch 'sql-abstract-tree-formatted-query'
  • c842778 15/05/2019 14:05:53 by RAJ   QueryLog - substitute placeholders in query * output still formatted manually since SQL::Abstract::Tree new-lines ORDER BY inside a GROUP_CONCAT, and doesn't separate SELECT fields into new-lines
  • 7db3927 24/04/2019 11:54:01 by RAJ   remove DBIx::Simple::OO - not required, parent support ->object(s) anyway
  • 68ac7f3 23/04/2019 17:50:22 by RAJ   method for external calls to _replace_omniholder; replace self->{dbd} with self->dbh->{Driver}{Name}
  • 71b9ff3 27/03/2019 13:13:42 by RAJ   adapt Local::DB::_mysql_connection_params to handle remote db connection using username & password
  • 52963f0 06/03/2019 11:08:39 by RAJ   new function is_email_valid()
  • e3e20c8 05/03/2019 17:36:31 by RAJ   change 'SHOW COLUMNS' data type from hash to array so lc_columns() setting doesn't matter (ie hash key = field or Field)
  • 4ee7532 01/03/2019 15:23:10 by RAJ   new pluralise function - Lingua::EN::Inflect PL()
  • 3db609a 22/01/2019 09:59:12 by RAJ   Merge remote-tracking branch 'origin/master'
  • 6223fdd 22/01/2019 09:58:19 by RAJ   Local::Dancer2::CSRF - original D2 plugin doesn't work well with D2::Plugin::Deferred
  • 5b09b27 17/01/2019 12:23:22 by raj   Tests for Spreadsheet libs, required by xlscat
  • cf564b7 07/01/2019 12:35:16 by RAJ   New CryptLEComplete class for SSL certificate renewals; minor doc updates and corrections to DBIx-Simple-Result and dbix.t
  • b149563 15/10/2018 15:38:59 by RAJ   Fix consequence of previous update to support multiple worksheets default worksheet 'sheet1' no longer set becuase worksheet() method not called now have to set manually inside _write_xlsx_row() if ->worksheet_name() not set in calling script
  • 58a729d 12/10/2018 11:33:09 by RAJ   Merge branch 'hotfix'
  • d5a3f3f 12/10/2018 11:33:00 by RAJ   Take worksheet name into variable for debugging purposes
  • a25e402 25/07/2018 13:29:12 by RAJ   Merge branch 'excel-writer-xlsx-multiple-worksheets'
  • a89caf3 25/07/2018 13:28:51 by RAJ   Local::WriteExcel - adapt to support multiple worksheets
  • c2c627d 04/05/2018 16:22:48 by RAJ   comment debug info
  • 7322d97 10/04/2018 15:37:41 by RAJ   bugfix to WriteExcel row_counter - only worked up to A9, then B0, B1, etc
  • 9bcea77 17/03/2018 12:34:49 by raj   Merge branch 'master' of https://hmds.org.uk/git/LocalLib
  • bae97d2 17/03/2018 12:34:13 by raj   enclose DateTime::Format function in eval block to catch invalid dates (triggered by genomics_xml invalid date)
  • 6fb9038 21/02/2018 22:16:56 by RAJ   * move filename/filetype validation to earlier in object creation cycle, from BUILD to _build_filetype, as empty args to object causing undef value errors in _build_filetype before finally dying in BUILD block * replaced try/catch with Test::Exception throws_ok
  • cba6312 21/02/2018 15:57:34 by RAJ   * replace global xlsx_data var with class attribute to prevent data persistence when object created again in same scope * new attribute to prevent close() being called more than once on xlsx_data string, though probably no harm if it does * new test file
  • 227a6e0 20/02/2018 22:50:20 by RAJ   WriteExcel - xl_object to 'rwp' and _set_xl_object to set it
  • bee8429 20/02/2018 20:49:57 by RAJ   moved worksheet_name validation from 'around' to trigger; moved filetype-from-filename regex capture from BUILD block to filetype builder
  • e4d1c38 19/02/2018 11:37:36 by RAJ   WriteExcel: * set worksheet name * use scalar filehandle for xlsx filetype to allow both data return and file save functions * seperate _write_xlsx_row() function to handle write_row and write_bold_row * row counter starts at A1, auto-increments as expected (A2, A3, etc) * changes should allow call to both data() & save() for both filetypes
  • f931390 18/02/2018 16:10:55 by RAJ   first draft of Local::WriteExcel - creates xls or xlsx file using Spreadsheet::WriteExcel::Simple syntax * can save file or return data for xls file but only save xlsx file
  • 13a67dc 21/01/2018 20:48:08 by RAJ   move arg to dump query from sam_query() to dbix constructor
  • d5a94c0 19/01/2018 11:38:22 by RAJ   document retention of NO_QUERY_LOGS for legacy scripts * rearrange order for Komodo source-tree
  • 9fa88c5 17/01/2018 10:15:33 by RAJ   interim commit
  • 51cf60a 04/10/2017 11:21:12 by RAJ   adapt _mysql_connection_params() to accept optional port arg
  • b474b5d 17/02/2017 12:44:14 by RAJ   bugfix - taking vars from @_ does not remove them so 'shift' gets 1st element
  • ba3e997 15/02/2017 15:08:52 by RAJ   moved DB::dump_query to Local::Utils for sharing with LIMS::Local::DBIxSimple; new DB method insert_or_update_if_greater()
  • 1e772c7 30/01/2017 13:54:52 by RAJ   update_or_insert method for Local::DB - uses SQL::Abstract insert() and appends ON DUPLICATE KEY
  • e87c973 30/01/2017 11:24:21 by RAJ   new function to map_hashes but with addition of index key as part of hashref - ie does not delete index key unlike map_hashes()
  • ae2fdb6 10/12/2016 15:38:19 by RAJ   QueryLogger uses D2-app /logs dir, even if script called from elsewhere via .cgi script - was creating logfiles relative to calling script, so cgi-bin needed symlink to logs dir
  • a48d9f6 25/11/2016 12:08:13 by RAJ   new methods dump_query, clone and math_sum; added DBIx::Simple::OO to allow ->objects call
  • f2b9357 18/05/2016 22:29:36 by RAJ   patched _autoinflate_dates() to handle zero values (ie false but still defined)
  • 2feb71e 18/05/2016 14:48:46 by RAJ   new methods DB::get_cols & InsertMulti::insert_ignore_multi & InsertMulti::update_or_insert_multi
  • 5cf7da9 11/05/2016 16:38:09 by RAJ   new SQL::Abstract plugin to provide insert_multi function - will be ported to role; more functions for Utils
  • 4f2f559 24/02/2016 17:17:52 by RAJ   setting $Local:DB::NO_LOG_QUERIES true was preventing sql trace output in QueryLogger::log_query so moved it to QueryLogger to take effect on dispatcher log() command; new Utils::datetime_to_string method + test file
  • 479fc32 17/02/2016 13:03:53 by RAJ   new vars ::DB::NO_QUERY_LOGS to suppress query logging & ::DBIx::Simple::Result::STRINGIFY_DATETIME to return datetime string rather than object
  • c9ae992 16/02/2016 10:03:00 by RAJ   added row(), column() & value() methods to DBIx::Simple::Result & DBIx::Lite::ResultSet
  • d2825eb 15/02/2016 09:25:22 by RAJ   added hash() and array() to Local::DBIx::Simple::Result to return in list or scalar context - original only returned scalar ref, and to inflate dates in array()
  • 75f6c94 09/02/2016 22:45:49 by RAJ   corrected error in single-apostrope escape
  • bb8c5ce 09/02/2016 16:57:54 by RAJ   new XMLSimple to add single-apostrophe escaping lacking in original
  • 4358fb1 25/01/2016 14:47:18 by RAJ   added new functions in Utils; corrected syntax in debugging section of DB
  • fb1d043 15/10/2015 09:34:09 by RAJ   capitalises group_concat; combined group & order for formatting rule
  • 68c99b0 11/10/2015 10:46:43 by RAJ   Paginator::paginate returns args with html appended
  • 150d0fe 10/10/2015 14:15:48 by RAJ   new DB::count() sub; Paginator takes siblings arg; QueryLogger formats LIMIT & OFFSET in sql
  • a21a24b 09/10/2015 16:36:49 by RAJ   new Paginator; added sha_digest to Utils
  • edbb340 (querylog-test) 31/08/2015 10:56:48 by RAJ   added dispatcher for test environment
  • edc628e 25/08/2015 11:48:07 by RAJ   replaced Log::Dispatch::File::Rolling with Log::Dispatch::File for deployment since LDF::Rolling creates redundant file and doesn't handle file permissions properly, and file rotation handled by cron anyway; added today() to Local::Utils
  • ff1201c 24/08/2015 16:21:17 by RAJ   moves all query logging functions to QueryLogger
  • cead34f 24/08/2015 14:33:51 by RAJ   branched for query-log testing
  • 94ea903 17/08/2015 11:45:59 by RAJ   added method to Local::DB to auto-inflate date(time)s, can be suppressed using var NO_AUTO_DATE_INFLATION set in calling class
  • 75d730f 28/07/2015 21:35:13 by RAJ   removed debugging info from stdout; tidy up; began refactoring DB::query() for QueryLogger, but have problem with fastcgi process finding location of app logs dir
  • bdc33a8 24/07/2015 17:03:53 by RAJ   mysql connection debug info
  • 63389be 24/07/2015 12:00:27 by RAJ   added time_now() to Utils