From f69c43a8900ac55218ec0fc9a6c00cf654190d6d Mon Sep 17 00:00:00 2001 From: Pjotr Prins Date: Sun, 25 Sep 2016 10:43:38 +0000 Subject: Logger: use output for assessing mapping parameters --- wqflask/wqflask/views.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'wqflask') diff --git a/wqflask/wqflask/views.py b/wqflask/wqflask/views.py index 41e2c7be..b747654a 100644 --- a/wqflask/wqflask/views.py +++ b/wqflask/wqflask/views.py @@ -432,11 +432,12 @@ def marker_regression_page(): 'mapmethod_rqtl_geno', 'mapmodel_rqtl_geno' ) - logger.info("Marker regression called with initial_start_vars:", initial_start_vars) + logger.debug("Marker regression called with initial_start_vars:", initial_start_vars) start_vars = {} for key, value in initial_start_vars.iteritems(): if key in wanted or key.startswith(('value:')): start_vars[key] = value + logger.debug("Marker regression called with start_vars:", start_vars) version = "v3" key = "marker_regression:{}:".format(version) + json.dumps(start_vars, sort_keys=True) @@ -546,7 +547,7 @@ def network_graph_page(): return render_template("network_graph.html", **template_vars.__dict__) else: return render_template("empty_collection.html", **{'tool':'Network Graph'}) - + @app.route("/corr_compute", methods=('POST',)) def corr_compute_page(): logger.info("In corr_compute, request.form is:", pf(request.form)) -- cgit v1.2.3 From ade0969bdc784d71d67d8422c6fd1238ed3ca391 Mon Sep 17 00:00:00 2001 From: Pjotr Prins Date: Mon, 26 Sep 2016 08:14:42 +0000 Subject: Test: mechanical Rob executes scanone test --- test/data/input/mapping/1435395_s_at_HC_M2_0606_P.json | 8 +++++--- test/lib/mapping.rb | 14 +++++++++----- wqflask/wqflask/views.py | 2 +- 3 files changed, 15 insertions(+), 9 deletions(-) (limited to 'wqflask') diff --git a/test/data/input/mapping/1435395_s_at_HC_M2_0606_P.json b/test/data/input/mapping/1435395_s_at_HC_M2_0606_P.json index 027e4d82..9744e7b2 100644 --- a/test/data/input/mapping/1435395_s_at_HC_M2_0606_P.json +++ b/test/data/input/mapping/1435395_s_at_HC_M2_0606_P.json @@ -1,6 +1,8 @@ -{ "maf" : "0.01", - "control_marker" : "mCV24506226", - "dataset" : "HC_M2_0606_P", +{ + "temp_uuid" : "unknown", +"maf" : "0.01", +"control_marker" : "mCV24506226", +"dataset" : "HC_M2_0606_P", "do_control" : "false", "maf" : "0.01", "manhattan_plot" : "False", diff --git a/test/lib/mapping.rb b/test/lib/mapping.rb index da580185..2678b127 100644 --- a/test/lib/mapping.rb +++ b/test/lib/mapping.rb @@ -5,16 +5,20 @@ end describe MappingTest do before do - @agent = Mechanize.new - @agent.agent.http.ca_file = '/etc/ssl/certs/ca-certificates.crt' end describe MappingTest do it "pyLMM mapping tool selection" do - url = $host+'/marker_regression?trait_id=1435395_s_at&dataset=HC_M2_0606_P' - page = @agent.post(url) + url = $host+'/marker_regression' # ?trait_id=1435395_s_at&dataset=HC_M2_0606_P' + @agent = Mechanize.new + @agent.agent.http.ca_file = '/etc/ssl/certs/ca-certificates.crt' + # @agent.idle_timeout = 0.01 + json = JSON::load(File.read('test/data/input/mapping/1435395_s_at_HC_M2_0606_P.json')) - p json + # p json + page = @agent.post(URI.encode(url), + json, + ({'Content-Type' => 'application/x-www-form-urlencoded'})) p page # get the form # form = @agent.page.form_with(:name => "my-form") diff --git a/wqflask/wqflask/views.py b/wqflask/wqflask/views.py index b747654a..7061e0f1 100644 --- a/wqflask/wqflask/views.py +++ b/wqflask/wqflask/views.py @@ -395,6 +395,7 @@ def mapping_results_container_page(): @app.route("/marker_regression", methods=('POST',)) def marker_regression_page(): initial_start_vars = request.form + logger.debug("Marker regression called with initial_start_vars:", initial_start_vars.items()) temp_uuid = initial_start_vars['temp_uuid'] wanted = ( 'trait_id', @@ -432,7 +433,6 @@ def marker_regression_page(): 'mapmethod_rqtl_geno', 'mapmodel_rqtl_geno' ) - logger.debug("Marker regression called with initial_start_vars:", initial_start_vars) start_vars = {} for key, value in initial_start_vars.iteritems(): if key in wanted or key.startswith(('value:')): -- cgit v1.2.3 From a14887e0c548e5d6b33a2f05092f82a9d4931b13 Mon Sep 17 00:00:00 2001 From: Lei Yan Date: Thu, 29 Sep 2016 23:39:05 +0000 Subject: Fix global search "il6" for "Internal Server Error". Add single quotes into MySQL query. --- wqflask/base/trait.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'wqflask') diff --git a/wqflask/base/trait.py b/wqflask/base/trait.py index 900e050c..32032ba7 100644 --- a/wqflask/base/trait.py +++ b/wqflask/base/trait.py @@ -363,7 +363,7 @@ class GeneralTrait(object): FROM Homologene, Species, InbredSet WHERE - Homologene.GeneId =%s AND + Homologene.GeneId ='%s' AND InbredSet.Name = '%s' AND InbredSet.SpeciesId = Species.Id AND Species.TaxonomyId = Homologene.TaxonomyId -- cgit v1.2.3 From 8f1b5b86a843ee2d17b427e2318eb13b29093d5d Mon Sep 17 00:00:00 2001 From: Pjotr Prins Date: Fri, 30 Sep 2016 08:40:42 +0000 Subject: Add logging for qtlreaper --- .../wqflask/marker_regression/marker_regression.py | 4 ++++ .../marker_regression/marker_regression_gn1.py | 20 ++++++++++++-------- 2 files changed, 16 insertions(+), 8 deletions(-) (limited to 'wqflask') diff --git a/wqflask/wqflask/marker_regression/marker_regression.py b/wqflask/wqflask/marker_regression/marker_regression.py index d2b27991..d7c78db0 100644 --- a/wqflask/wqflask/marker_regression/marker_regression.py +++ b/wqflask/wqflask/marker_regression/marker_regression.py @@ -41,6 +41,9 @@ from utility.tools import locate, locate_ignore_error, PYLMM_COMMAND, GEMMA_COMM from utility.external import shell from base.webqtlConfig import TMPDIR, GENERATED_TEXT_DIR +import utility.logger +logger = utility.logger.getLogger(__name__ ) + class MarkerRegression(object): def __init__(self, start_vars, temp_uuid): @@ -194,6 +197,7 @@ class MarkerRegression(object): self.control_marker = start_vars['control_marker'] self.do_control = start_vars['do_control'] + logger.info("Running qtlreaper") results = self.gen_reaper_results() elif self.mapping_method == "plink": results = self.run_plink() diff --git a/wqflask/wqflask/marker_regression/marker_regression_gn1.py b/wqflask/wqflask/marker_regression/marker_regression_gn1.py index 9cef3cec..bc147f75 100644 --- a/wqflask/wqflask/marker_regression/marker_regression_gn1.py +++ b/wqflask/wqflask/marker_regression/marker_regression_gn1.py @@ -44,6 +44,9 @@ from utility import Plot from wqflask.interval_analyst import GeneUtil from base.webqtlConfig import TMPDIR, GENERATED_TEXT_DIR, GENERATED_IMAGE_DIR +import utility.logger +logger = utility.logger.getLogger(__name__ ) + ######################################### # Inteval Mapping Plot Page ######################################### @@ -159,6 +162,7 @@ class MarkerRegression(object): #if not self.openMysql(): # return + logger.info("Running qtlreaper") #helper_functions.get_species_dataset_trait(self, start_vars) @@ -211,7 +215,7 @@ class MarkerRegression(object): self.plotScale = start_vars['mapping_scale'] else: self.plotScale = "physic" - + self.manhattan_plot = start_vars['manhattan_plot'] if 'permCheck' in start_vars.keys(): @@ -514,13 +518,13 @@ class MarkerRegression(object): if self.dataset.group.species == "mouse": if self.selectedChr == 20: - chrName = "X" + chrName = "X" else: chrName = self.selectedChr self.geneCol = GeneUtil.loadGenes(chrName, self.diffCol, self.startMb, self.endMb, webqtldatabase, "mouse") elif self.dataset.group.species == "rat": if self.selectedChr == 21: - chrName = "X" + chrName = "X" else: chrName = self.selectedChr self.geneCol = GeneUtil.loadGenes(chrName, self.diffCol, self.startMb, self.endMb, webqtldatabase, "rat") @@ -860,7 +864,7 @@ class MarkerRegression(object): BootCoord = [] i = 0 startX = xLeftOffset - + if self.selectedChr == -1: #ZS: If viewing full genome/all chromosomes for j, _chr in enumerate(self.genotype): BootCoord.append( []) @@ -883,8 +887,8 @@ class MarkerRegression(object): else: Xc = startX + (_locus.cM-_chr[0].cM)*plotXScale BootCoord[-1].append([Xc, self.bootResult[i]]) - i += 1 - + i += 1 + #reduce bootResult if self.selectedChr > -1: maxBootBar = 80.0 @@ -1851,7 +1855,7 @@ class MarkerRegression(object): if j == 0: canvas.drawLine(startPosX,yZero,startPosX,yZero+40, color=lineColor) startPosX += (self.ChrLengthDistList[j]+self.GraphInterval)*plotXScale - + centimorganLabelFont = pid.Font(ttf="verdana", size=18*zoom*1.5, bold=0) canvas.drawString("Centimorgans", xLeftOffset + (plotWidth - canvas.stringWidth("Megabases", font=centimorganLabelFont))/2, strYLoc + canvas.fontHeight(MBLabelFont)+ 10*(zoom%2) + 10, font=centimorganLabelFont, color=pid.black) @@ -2963,7 +2967,7 @@ class MarkerRegression(object): chr_as_int = 20 else: chr_as_int = int(theGO["Chromosome"]) - 1 - + geneLength = (float(theGO["TxEnd"]) - float(theGO["TxStart"])) #geneLengthURL = "javascript:centerIntervalMapOnRange2('%s', %f, %f, document.changeViewForm)" % (theGO["Chromosome"], float(theGO["TxStart"])-(geneLength*0.1), float(theGO["TxEnd"])+(geneLength*0.1)) geneLengthURL = "javascript:rangeView('%s', %f, %f)" % (theGO["Chromosome"], float(theGO["TxStart"])-(geneLength*0.1), float(theGO["TxEnd"])+(geneLength*0.1)) -- cgit v1.2.3 From 56ba5dcc2b2ba7ff2103b7b291db1aa610c24d11 Mon Sep 17 00:00:00 2001 From: Pjotr Prins Date: Fri, 30 Sep 2016 04:58:15 -0500 Subject: Add missing __init__.py --- wqflask/maintenance/__init__.py | 0 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 wqflask/maintenance/__init__.py (limited to 'wqflask') diff --git a/wqflask/maintenance/__init__.py b/wqflask/maintenance/__init__.py new file mode 100644 index 00000000..e69de29b -- cgit v1.2.3 From c3f3632230f40c86f422a72cd080e5eb1b56bbf1 Mon Sep 17 00:00:00 2001 From: Pjotr Prins Date: Sun, 2 Oct 2016 10:34:21 +0000 Subject: Error screen improvements with animated gifs --- .../wqflask/static/gif/error/Wild-Type-Mouse.gif | Bin 0 -> 37328 bytes .../static/gif/error/animated-gifs-aliens-29.gif | Bin 0 -> 14088 bytes .../static/gif/error/animated-gifs-angels-04.gif | Bin 0 -> 12155 bytes .../static/gif/error/animated-gifs-cats-016.gif | Bin 0 -> 10388 bytes .../static/gif/error/animated-gifs-cats-031.gif | Bin 0 -> 6937 bytes .../gif/error/animated-gifs-cell-phones-03.gif | Bin 0 -> 14902 bytes .../gif/error/animated-gifs-cell-phones-16.gif | Bin 0 -> 7307 bytes .../gif/error/animated-gifs-computers-13.gif | Bin 0 -> 7616 bytes .../gif/error/animated-gifs-computers-28.gif | Bin 0 -> 7566 bytes .../gif/error/animated-gifs-computers-32.gif | Bin 0 -> 2970 bytes .../gif/error/animated-gifs-computers-42.gif | Bin 0 -> 9391 bytes .../gif/error/animated-gifs-computers-60.gif | Bin 0 -> 35873 bytes .../gif/error/animated-gifs-computers-64.gif | Bin 0 -> 20728 bytes .../gif/error/animated-gifs-computers-65.gif | Bin 0 -> 26358 bytes .../gif/error/animated-gifs-computers-72.gif | Bin 0 -> 16361 bytes .../gif/error/animated-gifs-computers-74.gif | Bin 0 -> 21087 bytes .../gif/error/animated-gifs-computers-75.gif | Bin 0 -> 98317 bytes .../error/animated-gifs-construction-sites-038.gif | Bin 0 -> 949 bytes .../static/gif/error/animated-gifs-dogs-04.gif | Bin 0 -> 9450 bytes .../static/gif/error/animated-gifs-dogs-14.gif | Bin 0 -> 2532 bytes .../static/gif/error/animated-gifs-dogs-18.gif | Bin 0 -> 3596 bytes .../static/gif/error/animated-gifs-dogs-47.gif | Bin 0 -> 13920 bytes .../static/gif/error/animated-gifs-dogs-50.gif | Bin 0 -> 7297 bytes .../gif/error/animated-gifs-lava-lamps-01.gif | Bin 0 -> 27122 bytes .../static/gif/error/animated-gifs-mice-02.gif | Bin 0 -> 73345 bytes .../static/gif/error/animated-gifs-mice-09.gif | Bin 0 -> 27822 bytes .../static/gif/error/animated-gifs-mice-24.gif | Bin 0 -> 10566 bytes .../static/gif/error/animated-gifs-smileys-063.gif | Bin 0 -> 2230 bytes .../static/gif/error/animated-gifs-smileys-068.gif | Bin 0 -> 11751 bytes .../static/gif/error/animated-gifs-smileys-134.gif | Bin 0 -> 21431 bytes .../static/gif/error/animated-gifs-smileys-211.gif | Bin 0 -> 11209 bytes .../static/gif/error/animated-gifs-smileys-234.gif | Bin 0 -> 8677 bytes .../gif/error/animated-gifs-stickmen-001.gif | Bin 0 -> 6897 bytes .../gif/error/animated-gifs-stickmen-002.gif | Bin 0 -> 14098 bytes .../gif/error/animated-gifs-stickmen-005.gif | Bin 0 -> 13264 bytes .../gif/error/animated-gifs-stickmen-012.gif | Bin 0 -> 12141 bytes .../gif/error/animated-gifs-stickmen-056.gif | Bin 0 -> 5946 bytes .../gif/error/animated-gifs-stickmen-059.gif | Bin 0 -> 16427 bytes .../gif/error/animated-gifs-stickmen-060.gif | Bin 0 -> 14434 bytes .../gif/error/animated-gifs-stickmen-069.gif | Bin 0 -> 7668 bytes wqflask/wqflask/templates/error.html | 58 +++++++++++++++++++++ wqflask/wqflask/views.py | 26 +++++++++ 42 files changed, 84 insertions(+) create mode 100644 wqflask/wqflask/static/gif/error/Wild-Type-Mouse.gif create mode 100644 wqflask/wqflask/static/gif/error/animated-gifs-aliens-29.gif create mode 100644 wqflask/wqflask/static/gif/error/animated-gifs-angels-04.gif create mode 100644 wqflask/wqflask/static/gif/error/animated-gifs-cats-016.gif create mode 100644 wqflask/wqflask/static/gif/error/animated-gifs-cats-031.gif create mode 100644 wqflask/wqflask/static/gif/error/animated-gifs-cell-phones-03.gif create mode 100644 wqflask/wqflask/static/gif/error/animated-gifs-cell-phones-16.gif create mode 100644 wqflask/wqflask/static/gif/error/animated-gifs-computers-13.gif create mode 100644 wqflask/wqflask/static/gif/error/animated-gifs-computers-28.gif create mode 100644 wqflask/wqflask/static/gif/error/animated-gifs-computers-32.gif create mode 100644 wqflask/wqflask/static/gif/error/animated-gifs-computers-42.gif create mode 100644 wqflask/wqflask/static/gif/error/animated-gifs-computers-60.gif create mode 100644 wqflask/wqflask/static/gif/error/animated-gifs-computers-64.gif create mode 100644 wqflask/wqflask/static/gif/error/animated-gifs-computers-65.gif create mode 100644 wqflask/wqflask/static/gif/error/animated-gifs-computers-72.gif create mode 100644 wqflask/wqflask/static/gif/error/animated-gifs-computers-74.gif create mode 100644 wqflask/wqflask/static/gif/error/animated-gifs-computers-75.gif create mode 100644 wqflask/wqflask/static/gif/error/animated-gifs-construction-sites-038.gif create mode 100644 wqflask/wqflask/static/gif/error/animated-gifs-dogs-04.gif create mode 100644 wqflask/wqflask/static/gif/error/animated-gifs-dogs-14.gif create mode 100644 wqflask/wqflask/static/gif/error/animated-gifs-dogs-18.gif create mode 100644 wqflask/wqflask/static/gif/error/animated-gifs-dogs-47.gif create mode 100644 wqflask/wqflask/static/gif/error/animated-gifs-dogs-50.gif create mode 100644 wqflask/wqflask/static/gif/error/animated-gifs-lava-lamps-01.gif create mode 100644 wqflask/wqflask/static/gif/error/animated-gifs-mice-02.gif create mode 100644 wqflask/wqflask/static/gif/error/animated-gifs-mice-09.gif create mode 100644 wqflask/wqflask/static/gif/error/animated-gifs-mice-24.gif create mode 100644 wqflask/wqflask/static/gif/error/animated-gifs-smileys-063.gif create mode 100644 wqflask/wqflask/static/gif/error/animated-gifs-smileys-068.gif create mode 100644 wqflask/wqflask/static/gif/error/animated-gifs-smileys-134.gif create mode 100644 wqflask/wqflask/static/gif/error/animated-gifs-smileys-211.gif create mode 100644 wqflask/wqflask/static/gif/error/animated-gifs-smileys-234.gif create mode 100644 wqflask/wqflask/static/gif/error/animated-gifs-stickmen-001.gif create mode 100644 wqflask/wqflask/static/gif/error/animated-gifs-stickmen-002.gif create mode 100644 wqflask/wqflask/static/gif/error/animated-gifs-stickmen-005.gif create mode 100644 wqflask/wqflask/static/gif/error/animated-gifs-stickmen-012.gif create mode 100644 wqflask/wqflask/static/gif/error/animated-gifs-stickmen-056.gif create mode 100644 wqflask/wqflask/static/gif/error/animated-gifs-stickmen-059.gif create mode 100644 wqflask/wqflask/static/gif/error/animated-gifs-stickmen-060.gif create mode 100644 wqflask/wqflask/static/gif/error/animated-gifs-stickmen-069.gif create mode 100644 wqflask/wqflask/templates/error.html (limited to 'wqflask') diff --git a/wqflask/wqflask/static/gif/error/Wild-Type-Mouse.gif b/wqflask/wqflask/static/gif/error/Wild-Type-Mouse.gif new file mode 100644 index 00000000..2c68b5ee Binary files /dev/null and b/wqflask/wqflask/static/gif/error/Wild-Type-Mouse.gif differ diff --git a/wqflask/wqflask/static/gif/error/animated-gifs-aliens-29.gif b/wqflask/wqflask/static/gif/error/animated-gifs-aliens-29.gif new file mode 100644 index 00000000..e9d38277 Binary files /dev/null and b/wqflask/wqflask/static/gif/error/animated-gifs-aliens-29.gif differ diff --git a/wqflask/wqflask/static/gif/error/animated-gifs-angels-04.gif b/wqflask/wqflask/static/gif/error/animated-gifs-angels-04.gif new file mode 100644 index 00000000..94e11847 Binary files /dev/null and b/wqflask/wqflask/static/gif/error/animated-gifs-angels-04.gif differ diff --git a/wqflask/wqflask/static/gif/error/animated-gifs-cats-016.gif b/wqflask/wqflask/static/gif/error/animated-gifs-cats-016.gif new file mode 100644 index 00000000..7e6ec9a3 Binary files /dev/null and b/wqflask/wqflask/static/gif/error/animated-gifs-cats-016.gif differ diff --git a/wqflask/wqflask/static/gif/error/animated-gifs-cats-031.gif b/wqflask/wqflask/static/gif/error/animated-gifs-cats-031.gif new file mode 100644 index 00000000..af7ef655 Binary files /dev/null and b/wqflask/wqflask/static/gif/error/animated-gifs-cats-031.gif differ diff --git a/wqflask/wqflask/static/gif/error/animated-gifs-cell-phones-03.gif b/wqflask/wqflask/static/gif/error/animated-gifs-cell-phones-03.gif new file mode 100644 index 00000000..89c79ddf Binary files /dev/null and b/wqflask/wqflask/static/gif/error/animated-gifs-cell-phones-03.gif differ diff --git a/wqflask/wqflask/static/gif/error/animated-gifs-cell-phones-16.gif b/wqflask/wqflask/static/gif/error/animated-gifs-cell-phones-16.gif new file mode 100644 index 00000000..7530d180 Binary files /dev/null and b/wqflask/wqflask/static/gif/error/animated-gifs-cell-phones-16.gif differ diff --git a/wqflask/wqflask/static/gif/error/animated-gifs-computers-13.gif b/wqflask/wqflask/static/gif/error/animated-gifs-computers-13.gif new file mode 100644 index 00000000..afb05c62 Binary files /dev/null and b/wqflask/wqflask/static/gif/error/animated-gifs-computers-13.gif differ diff --git a/wqflask/wqflask/static/gif/error/animated-gifs-computers-28.gif b/wqflask/wqflask/static/gif/error/animated-gifs-computers-28.gif new file mode 100644 index 00000000..f5b4a563 Binary files /dev/null and b/wqflask/wqflask/static/gif/error/animated-gifs-computers-28.gif differ diff --git a/wqflask/wqflask/static/gif/error/animated-gifs-computers-32.gif b/wqflask/wqflask/static/gif/error/animated-gifs-computers-32.gif new file mode 100644 index 00000000..7258e594 Binary files /dev/null and b/wqflask/wqflask/static/gif/error/animated-gifs-computers-32.gif differ diff --git a/wqflask/wqflask/static/gif/error/animated-gifs-computers-42.gif b/wqflask/wqflask/static/gif/error/animated-gifs-computers-42.gif new file mode 100644 index 00000000..ed1f8722 Binary files /dev/null and b/wqflask/wqflask/static/gif/error/animated-gifs-computers-42.gif differ diff --git a/wqflask/wqflask/static/gif/error/animated-gifs-computers-60.gif b/wqflask/wqflask/static/gif/error/animated-gifs-computers-60.gif new file mode 100644 index 00000000..f58d69f1 Binary files /dev/null and b/wqflask/wqflask/static/gif/error/animated-gifs-computers-60.gif differ diff --git a/wqflask/wqflask/static/gif/error/animated-gifs-computers-64.gif b/wqflask/wqflask/static/gif/error/animated-gifs-computers-64.gif new file mode 100644 index 00000000..5d5b4fdf Binary files /dev/null and b/wqflask/wqflask/static/gif/error/animated-gifs-computers-64.gif differ diff --git a/wqflask/wqflask/static/gif/error/animated-gifs-computers-65.gif b/wqflask/wqflask/static/gif/error/animated-gifs-computers-65.gif new file mode 100644 index 00000000..b4b10845 Binary files /dev/null and b/wqflask/wqflask/static/gif/error/animated-gifs-computers-65.gif differ diff --git a/wqflask/wqflask/static/gif/error/animated-gifs-computers-72.gif b/wqflask/wqflask/static/gif/error/animated-gifs-computers-72.gif new file mode 100644 index 00000000..e60cb4fe Binary files /dev/null and b/wqflask/wqflask/static/gif/error/animated-gifs-computers-72.gif differ diff --git a/wqflask/wqflask/static/gif/error/animated-gifs-computers-74.gif b/wqflask/wqflask/static/gif/error/animated-gifs-computers-74.gif new file mode 100644 index 00000000..bd7b72f3 Binary files /dev/null and b/wqflask/wqflask/static/gif/error/animated-gifs-computers-74.gif differ diff --git a/wqflask/wqflask/static/gif/error/animated-gifs-computers-75.gif b/wqflask/wqflask/static/gif/error/animated-gifs-computers-75.gif new file mode 100644 index 00000000..916d6b33 Binary files /dev/null and b/wqflask/wqflask/static/gif/error/animated-gifs-computers-75.gif differ diff --git a/wqflask/wqflask/static/gif/error/animated-gifs-construction-sites-038.gif b/wqflask/wqflask/static/gif/error/animated-gifs-construction-sites-038.gif new file mode 100644 index 00000000..0ec782c4 Binary files /dev/null and b/wqflask/wqflask/static/gif/error/animated-gifs-construction-sites-038.gif differ diff --git a/wqflask/wqflask/static/gif/error/animated-gifs-dogs-04.gif b/wqflask/wqflask/static/gif/error/animated-gifs-dogs-04.gif new file mode 100644 index 00000000..9515c18a Binary files /dev/null and b/wqflask/wqflask/static/gif/error/animated-gifs-dogs-04.gif differ diff --git a/wqflask/wqflask/static/gif/error/animated-gifs-dogs-14.gif b/wqflask/wqflask/static/gif/error/animated-gifs-dogs-14.gif new file mode 100644 index 00000000..f1e2e1f5 Binary files /dev/null and b/wqflask/wqflask/static/gif/error/animated-gifs-dogs-14.gif differ diff --git a/wqflask/wqflask/static/gif/error/animated-gifs-dogs-18.gif b/wqflask/wqflask/static/gif/error/animated-gifs-dogs-18.gif new file mode 100644 index 00000000..572849d5 Binary files /dev/null and b/wqflask/wqflask/static/gif/error/animated-gifs-dogs-18.gif differ diff --git a/wqflask/wqflask/static/gif/error/animated-gifs-dogs-47.gif b/wqflask/wqflask/static/gif/error/animated-gifs-dogs-47.gif new file mode 100644 index 00000000..d808c9ee Binary files /dev/null and b/wqflask/wqflask/static/gif/error/animated-gifs-dogs-47.gif differ diff --git a/wqflask/wqflask/static/gif/error/animated-gifs-dogs-50.gif b/wqflask/wqflask/static/gif/error/animated-gifs-dogs-50.gif new file mode 100644 index 00000000..9865ee45 Binary files /dev/null and b/wqflask/wqflask/static/gif/error/animated-gifs-dogs-50.gif differ diff --git a/wqflask/wqflask/static/gif/error/animated-gifs-lava-lamps-01.gif b/wqflask/wqflask/static/gif/error/animated-gifs-lava-lamps-01.gif new file mode 100644 index 00000000..ee9c113d Binary files /dev/null and b/wqflask/wqflask/static/gif/error/animated-gifs-lava-lamps-01.gif differ diff --git a/wqflask/wqflask/static/gif/error/animated-gifs-mice-02.gif b/wqflask/wqflask/static/gif/error/animated-gifs-mice-02.gif new file mode 100644 index 00000000..5ca2ee5c Binary files /dev/null and b/wqflask/wqflask/static/gif/error/animated-gifs-mice-02.gif differ diff --git a/wqflask/wqflask/static/gif/error/animated-gifs-mice-09.gif b/wqflask/wqflask/static/gif/error/animated-gifs-mice-09.gif new file mode 100644 index 00000000..7cb361e4 Binary files /dev/null and b/wqflask/wqflask/static/gif/error/animated-gifs-mice-09.gif differ diff --git a/wqflask/wqflask/static/gif/error/animated-gifs-mice-24.gif b/wqflask/wqflask/static/gif/error/animated-gifs-mice-24.gif new file mode 100644 index 00000000..96a26450 Binary files /dev/null and b/wqflask/wqflask/static/gif/error/animated-gifs-mice-24.gif differ diff --git a/wqflask/wqflask/static/gif/error/animated-gifs-smileys-063.gif b/wqflask/wqflask/static/gif/error/animated-gifs-smileys-063.gif new file mode 100644 index 00000000..62de166c Binary files /dev/null and b/wqflask/wqflask/static/gif/error/animated-gifs-smileys-063.gif differ diff --git a/wqflask/wqflask/static/gif/error/animated-gifs-smileys-068.gif b/wqflask/wqflask/static/gif/error/animated-gifs-smileys-068.gif new file mode 100644 index 00000000..3550e978 Binary files /dev/null and b/wqflask/wqflask/static/gif/error/animated-gifs-smileys-068.gif differ diff --git a/wqflask/wqflask/static/gif/error/animated-gifs-smileys-134.gif b/wqflask/wqflask/static/gif/error/animated-gifs-smileys-134.gif new file mode 100644 index 00000000..954ab614 Binary files /dev/null and b/wqflask/wqflask/static/gif/error/animated-gifs-smileys-134.gif differ diff --git a/wqflask/wqflask/static/gif/error/animated-gifs-smileys-211.gif b/wqflask/wqflask/static/gif/error/animated-gifs-smileys-211.gif new file mode 100644 index 00000000..596174d7 Binary files /dev/null and b/wqflask/wqflask/static/gif/error/animated-gifs-smileys-211.gif differ diff --git a/wqflask/wqflask/static/gif/error/animated-gifs-smileys-234.gif b/wqflask/wqflask/static/gif/error/animated-gifs-smileys-234.gif new file mode 100644 index 00000000..5aba636b Binary files /dev/null and b/wqflask/wqflask/static/gif/error/animated-gifs-smileys-234.gif differ diff --git a/wqflask/wqflask/static/gif/error/animated-gifs-stickmen-001.gif b/wqflask/wqflask/static/gif/error/animated-gifs-stickmen-001.gif new file mode 100644 index 00000000..7896ff1f Binary files /dev/null and b/wqflask/wqflask/static/gif/error/animated-gifs-stickmen-001.gif differ diff --git a/wqflask/wqflask/static/gif/error/animated-gifs-stickmen-002.gif b/wqflask/wqflask/static/gif/error/animated-gifs-stickmen-002.gif new file mode 100644 index 00000000..89da6441 Binary files /dev/null and b/wqflask/wqflask/static/gif/error/animated-gifs-stickmen-002.gif differ diff --git a/wqflask/wqflask/static/gif/error/animated-gifs-stickmen-005.gif b/wqflask/wqflask/static/gif/error/animated-gifs-stickmen-005.gif new file mode 100644 index 00000000..b7887630 Binary files /dev/null and b/wqflask/wqflask/static/gif/error/animated-gifs-stickmen-005.gif differ diff --git a/wqflask/wqflask/static/gif/error/animated-gifs-stickmen-012.gif b/wqflask/wqflask/static/gif/error/animated-gifs-stickmen-012.gif new file mode 100644 index 00000000..f6697d02 Binary files /dev/null and b/wqflask/wqflask/static/gif/error/animated-gifs-stickmen-012.gif differ diff --git a/wqflask/wqflask/static/gif/error/animated-gifs-stickmen-056.gif b/wqflask/wqflask/static/gif/error/animated-gifs-stickmen-056.gif new file mode 100644 index 00000000..2b2496a4 Binary files /dev/null and b/wqflask/wqflask/static/gif/error/animated-gifs-stickmen-056.gif differ diff --git a/wqflask/wqflask/static/gif/error/animated-gifs-stickmen-059.gif b/wqflask/wqflask/static/gif/error/animated-gifs-stickmen-059.gif new file mode 100644 index 00000000..f2188656 Binary files /dev/null and b/wqflask/wqflask/static/gif/error/animated-gifs-stickmen-059.gif differ diff --git a/wqflask/wqflask/static/gif/error/animated-gifs-stickmen-060.gif b/wqflask/wqflask/static/gif/error/animated-gifs-stickmen-060.gif new file mode 100644 index 00000000..aa8f7bd3 Binary files /dev/null and b/wqflask/wqflask/static/gif/error/animated-gifs-stickmen-060.gif differ diff --git a/wqflask/wqflask/static/gif/error/animated-gifs-stickmen-069.gif b/wqflask/wqflask/static/gif/error/animated-gifs-stickmen-069.gif new file mode 100644 index 00000000..473212e4 Binary files /dev/null and b/wqflask/wqflask/static/gif/error/animated-gifs-stickmen-069.gif differ diff --git a/wqflask/wqflask/templates/error.html b/wqflask/wqflask/templates/error.html new file mode 100644 index 00000000..a2eaad5c --- /dev/null +++ b/wqflask/wqflask/templates/error.html @@ -0,0 +1,58 @@ +{% extends "base.html" %} +{% block title %}Error: {{message}}{% endblock %} +{% block content %} + + +
+
+
+ + + +

ERROR

+ +

+ This error is not what we wanted to see. Unfortunately errors + are part of all software systems and we need to resolve this + together. +

+

+ It is important to report this so we + can fix it. +

+ +

+ Report to the GeneNetwork team by recording the steps you take + to reproduce this error. Next to those steps, copy-paste below + stack trace, either as + a new + issue (GeneNetwork error: {{message}}) or E-mail this full page to one of the developers + directly. +

+
+ +
+    {{ message }} (error)
+    {{ stack[-3] }}
+    {{ stack[-2] }}
+  
+ +

+ To check if this already a known issue, search the + issue + tracker. +

+ + Toggle full stack trace +
+
+      {% for line in stack %}
+        {{ line }}
+      {% endfor %}
+    
+
+
+
+ + +{% endblock %} diff --git a/wqflask/wqflask/views.py b/wqflask/wqflask/views.py index 7061e0f1..c01056a8 100644 --- a/wqflask/wqflask/views.py +++ b/wqflask/wqflask/views.py @@ -4,6 +4,9 @@ from __future__ import absolute_import, division, print_function +import traceback # for error page +import os # for error gifs +import random # for random error gif import sys import csv import xlsxwriter @@ -58,6 +61,8 @@ from wqflask import user_manager from wqflask import collect from wqflask.database import db_session +import werkzeug + import utility.logger logger = utility.logger.getLogger(__name__ ) @@ -82,6 +87,26 @@ def shutdown_session(exception=None): # from wqflask import tracer # tracer.turn_on() +@app.errorhandler(Exception) +def handle_bad_request(e): + logger.error(str(e)) + exc_type, exc_value, exc_traceback = sys.exc_info() + # print "*** format_exc, first and last line:" + # logger.error(formatted_lines[0]) + # logger.error(formatted_lines[-3]) + # logger.error(formatted_lines[-2]) + # logger.error(formatted_lines[-1]) + logger.error(traceback.format_exc()) + formatted_lines = traceback.format_exc().splitlines() + + # for file in os.listdir("./wqflask/static/gif/error"): + # if file.endswith(".gif"): + # print(file) + + list = [fn for fn in os.listdir("./wqflask/static/gif/error") if fn.endswith(".gif") ] + # print(list) + return render_template("error.html",message=str(e),stack=formatted_lines,error_image=random.choice(list)) + @app.route("/") def index_page(): logger.info("Sending index_page") @@ -394,6 +419,7 @@ def mapping_results_container_page(): @app.route("/marker_regression", methods=('POST',)) def marker_regression_page(): + raise Exception("Just an error") initial_start_vars = request.form logger.debug("Marker regression called with initial_start_vars:", initial_start_vars.items()) temp_uuid = initial_start_vars['temp_uuid'] -- cgit v1.2.3 From 9b3c087e46b6dfdc2fe686a60ac26e98c7cbe93d Mon Sep 17 00:00:00 2001 From: Pjotr Prins Date: Sun, 2 Oct 2016 10:35:16 +0000 Subject: Error: remove test error --- wqflask/wqflask/views.py | 1 - 1 file changed, 1 deletion(-) (limited to 'wqflask') diff --git a/wqflask/wqflask/views.py b/wqflask/wqflask/views.py index c01056a8..85c2c824 100644 --- a/wqflask/wqflask/views.py +++ b/wqflask/wqflask/views.py @@ -419,7 +419,6 @@ def mapping_results_container_page(): @app.route("/marker_regression", methods=('POST',)) def marker_regression_page(): - raise Exception("Just an error") initial_start_vars = request.form logger.debug("Marker regression called with initial_start_vars:", initial_start_vars.items()) temp_uuid = initial_start_vars['temp_uuid'] -- cgit v1.2.3 From 3496c5eeae6d9d6064188720902b0cc1b415f610 Mon Sep 17 00:00:00 2001 From: Pjotr Prins Date: Sun, 2 Oct 2016 11:06:02 +0000 Subject: Error page: use cookies to fixate the animation for one error --- wqflask/wqflask/templates/error.html | 3 +-- wqflask/wqflask/views.py | 28 +++++++++++++++------------- 2 files changed, 16 insertions(+), 15 deletions(-) (limited to 'wqflask') diff --git a/wqflask/wqflask/templates/error.html b/wqflask/wqflask/templates/error.html index a2eaad5c..9d9e66d4 100644 --- a/wqflask/wqflask/templates/error.html +++ b/wqflask/wqflask/templates/error.html @@ -17,8 +17,7 @@ together.

- It is important to report this so we - can fix it. + It is important to report this error so we can fix it for everyone.

diff --git a/wqflask/wqflask/views.py b/wqflask/wqflask/views.py index 85c2c824..40a77df3 100644 --- a/wqflask/wqflask/views.py +++ b/wqflask/wqflask/views.py @@ -29,7 +29,7 @@ import base64 import array import sqlalchemy from wqflask import app -from flask import g, Response, request, render_template, send_from_directory, jsonify, redirect +from flask import g, Response, request, make_response, render_template, send_from_directory, jsonify, redirect from wqflask import search_results from wqflask import gsearch from wqflask import update_search_results @@ -89,23 +89,25 @@ def shutdown_session(exception=None): @app.errorhandler(Exception) def handle_bad_request(e): - logger.error(str(e)) + err_msg = str(e) + logger.error(err_msg) + # get the stack trace and send it to the logger exc_type, exc_value, exc_traceback = sys.exc_info() - # print "*** format_exc, first and last line:" - # logger.error(formatted_lines[0]) - # logger.error(formatted_lines[-3]) - # logger.error(formatted_lines[-2]) - # logger.error(formatted_lines[-1]) logger.error(traceback.format_exc()) formatted_lines = traceback.format_exc().splitlines() - # for file in os.listdir("./wqflask/static/gif/error"): - # if file.endswith(".gif"): - # print(file) + # Handle random animations + # Use a cookie to have one animation on refresh + animation = request.cookies.get(err_msg) + if not animation: + list = [fn for fn in os.listdir("./wqflask/static/gif/error") if fn.endswith(".gif") ] + animation = random.choice(list) - list = [fn for fn in os.listdir("./wqflask/static/gif/error") if fn.endswith(".gif") ] - # print(list) - return render_template("error.html",message=str(e),stack=formatted_lines,error_image=random.choice(list)) + resp = make_response(render_template("error.html",message=err_msg,stack=formatted_lines,error_image=animation)) + + # logger.error("Set cookie %s with %s" % (err_msg, animation)) + resp.set_cookie(err_msg,animation) + return resp @app.route("/") def index_page(): -- cgit v1.2.3 From b4521df539a9817ecf9d70fe5dbe41a5c39d64a0 Mon Sep 17 00:00:00 2001 From: Pjotr Prins Date: Sun, 2 Oct 2016 11:21:44 +0000 Subject: Error page: also display the URL --- wqflask/wqflask/templates/error.html | 8 ++++---- wqflask/wqflask/views.py | 3 ++- 2 files changed, 6 insertions(+), 5 deletions(-) (limited to 'wqflask') diff --git a/wqflask/wqflask/templates/error.html b/wqflask/wqflask/templates/error.html index 9d9e66d4..95485f1e 100644 --- a/wqflask/wqflask/templates/error.html +++ b/wqflask/wqflask/templates/error.html @@ -17,12 +17,12 @@ together.

- It is important to report this error so we can fix it for everyone. + It is important to report this ERROR so we can fix it for everyone.

Report to the GeneNetwork team by recording the steps you take - to reproduce this error. Next to those steps, copy-paste below + to reproduce this ERROR. Next to those steps, copy-paste below stack trace, either as a new issue (GeneNetwork error: {{message}}) or E-mail this full page to one of the developers @@ -31,6 +31,7 @@

+    {{ stack[0] }}
     {{ message }} (error)
     {{ stack[-3] }}
     {{ stack[-2] }}
@@ -45,8 +46,7 @@
   Toggle full stack trace
   
-      {% for line in stack %}
-        {{ line }}
+      {% for line in stack %} {{ line }}
       {% endfor %}
     
diff --git a/wqflask/wqflask/views.py b/wqflask/wqflask/views.py index 40a77df3..12d43052 100644 --- a/wqflask/wqflask/views.py +++ b/wqflask/wqflask/views.py @@ -91,10 +91,11 @@ def shutdown_session(exception=None): def handle_bad_request(e): err_msg = str(e) logger.error(err_msg) + logger.error(request.url) # get the stack trace and send it to the logger exc_type, exc_value, exc_traceback = sys.exc_info() logger.error(traceback.format_exc()) - formatted_lines = traceback.format_exc().splitlines() + formatted_lines = [request.url]+traceback.format_exc().splitlines() # Handle random animations # Use a cookie to have one animation on refresh -- cgit v1.2.3 From 1107259dc258d0cfcb447519cc36e59e78facdef Mon Sep 17 00:00:00 2001 From: Pjotr Prins Date: Sun, 2 Oct 2016 11:52:47 +0000 Subject: Errors: added time stamps in UTC --- wqflask/utility/logger.py | 6 +++++- wqflask/wqflask/views.py | 6 +++++- 2 files changed, 10 insertions(+), 2 deletions(-) (limited to 'wqflask') diff --git a/wqflask/utility/logger.py b/wqflask/utility/logger.py index ddc0ea82..b873e16f 100644 --- a/wqflask/utility/logger.py +++ b/wqflask/utility/logger.py @@ -31,6 +31,7 @@ import string from inspect import isfunction from pprint import pformat as pf from inspect import stack +import datetime from utility.tools import LOG_LEVEL, LOG_LEVEL_DEBUG, LOG_SQL, LOG_FORMAT @@ -66,7 +67,10 @@ LOG_LEVEL_DEBUG (NYI). def error(self,*args): """Call logging.error for multiple args""" - self.collect(self.logger.error,*args) + now = datetime.datetime.utcnow() + time_str = now.strftime('%H:%M:%S UTC %Y%m%d') + l = [time_str]+list(args) + self.collect(self.logger.error,*l) def infof(self,*args): """Call logging.info for multiple args lazily""" diff --git a/wqflask/wqflask/views.py b/wqflask/wqflask/views.py index 12d43052..7abcc17d 100644 --- a/wqflask/wqflask/views.py +++ b/wqflask/wqflask/views.py @@ -7,6 +7,8 @@ from __future__ import absolute_import, division, print_function import traceback # for error page import os # for error gifs import random # for random error gif +import datetime # for errors +import time # for errors import sys import csv import xlsxwriter @@ -95,7 +97,9 @@ def handle_bad_request(e): # get the stack trace and send it to the logger exc_type, exc_value, exc_traceback = sys.exc_info() logger.error(traceback.format_exc()) - formatted_lines = [request.url]+traceback.format_exc().splitlines() + now = datetime.datetime.utcnow() + time_str = now.strftime('%l:%M%p UTC %b %d, %Y') + formatted_lines = [request.url + " ("+time_str+")"]+traceback.format_exc().splitlines() # Handle random animations # Use a cookie to have one animation on refresh -- cgit v1.2.3 From 2115fcfde74375252f556153d48f52f4d15fb298 Mon Sep 17 00:00:00 2001 From: Pjotr Prins Date: Sun, 2 Oct 2016 12:02:46 +0000 Subject: Error page: trim error messages --- wqflask/wqflask/templates/error.html | 6 +++++- wqflask/wqflask/views.py | 4 ++-- 2 files changed, 7 insertions(+), 3 deletions(-) (limited to 'wqflask') diff --git a/wqflask/wqflask/templates/error.html b/wqflask/wqflask/templates/error.html index 95485f1e..7ab2bf2f 100644 --- a/wqflask/wqflask/templates/error.html +++ b/wqflask/wqflask/templates/error.html @@ -25,11 +25,15 @@ to reproduce this ERROR. Next to those steps, copy-paste below stack trace, either as a new - issue (GeneNetwork error: {{message}}) or E-mail this full page to one of the developers + issue or E-mail this full page to one of the developers directly.

+

+ (GeneNetwork error: {{message[:128]}}) +

+
     {{ stack[0] }}
     {{ message }} (error)
diff --git a/wqflask/wqflask/views.py b/wqflask/wqflask/views.py
index 7abcc17d..cf316bee 100644
--- a/wqflask/wqflask/views.py
+++ b/wqflask/wqflask/views.py
@@ -103,7 +103,7 @@ def handle_bad_request(e):
 
     # Handle random animations
     # Use a cookie to have one animation on refresh
-    animation = request.cookies.get(err_msg)
+    animation = request.cookies.get(err_msg[:64])
     if not animation:
         list = [fn for fn in os.listdir("./wqflask/static/gif/error") if fn.endswith(".gif") ]
         animation = random.choice(list)
@@ -111,7 +111,7 @@ def handle_bad_request(e):
     resp = make_response(render_template("error.html",message=err_msg,stack=formatted_lines,error_image=animation))
 
     # logger.error("Set cookie %s with %s" % (err_msg, animation))
-    resp.set_cookie(err_msg,animation)
+    resp.set_cookie(err_msg[:64],animation)
     return resp
 
 @app.route("/")
-- 
cgit v1.2.3