Issue when calling a file link with spaces from a QTextBrowser - html

In Qt, I have a window with a QTextBrowser. I successfully open files from links writing HTML as follows:
test <---- working!
but I can't with files with spaces:
test <---- not working!
I have tried with te st, te+st, te st, and te%20st, but still not working...
Does anybody know which solution can I try?

Did you try with ? Something like: test
UPDATE:
It looks like Qt (at least 4.8.x) converts d:/te st.png into d:/te%20st.png and makes an attempt to execute that string from Windows shell and... fails.
c:/te st.png converted to d:/te%C2%A0st.png and fails too.

Related

Why does Octave insert this strange character on my file?

I was creating the code bellow in Octave and I got some strange behaviour:
# Sou um lab feliz
# Jesus, nosso Senhor, te ama
S1 = single(1.0);
S2 = single(0.0);
k = 1;
while(true)
...
And it was looking fine for me. But when I ran the code I got this:
parse error near line 1 of file
/home/gabriel/Documentos/Tarefas/Universidade/MS211/lab01.m
syntax error
~}# Sou um lab feliz
^
These characters were not on my editor. When I opened it at VS Code they were actually there, I deleted them and everything worked fine. But when I used the Octave editor and saved the file, the same happened, every time, even in different files this happens. Why is this happening?
Me and some friends, we found the problem.
For some reason I don't know, the Octave was configured to save in the HZ-GB-2312 encoding, I think that's why it was saving wrong my file, when turned to UTF-8 it started to work well, as it would be working.

Why is the type() function not executed in this script?

I am new to Sikulix and I am running into a problem.
I am trying to follow a tutorial, but the type() function does not seem to work.
I am working on a windows 10 machine 64bit, with sikulix 1.1.3 IDE.
Below is an image of my simple script in which I try to start the calculator in windows.
Both clicks are executed, but the type is not. It also doesn't show up in the log screen:
Is this a bug or am I missing something?
Put a wait(1) right after the click
And do
type("Calc")
type(Key.ENTER)
The issue you're having is your type statement: type("calc" + Key.ENTER)
This should be avoided.
You could try type("calc", Key.ENTER) but I'm unsure if this works. Hope this helps!
I think this is a bug in 1.1.3.
I am running 1.1.0 on a 64 bit Windows 10 PC and this code worked fine for me. I have never had issues concatenating a Key with a String because in Sikuli most of the key constants are actually String values including Key.ENTER documented here.
Maybe try:
wait(image)
type(image, "calc" + Key.ENTER)
Using type this way will click the image and then type whatever is in the second parameter.
Side note for #Michell Monarch:
type("calc", Key.ENTER) will search for the text "calc" on the screen, click it, and then press enter

New Install of MF 7.1 on OSx. Hybrid applications are generate invalid messages.json file

I've tried this twice and get the same issue. I installed MobileFirst into Eclipse Luna. I create a Hybrid project and add an environment (doesn't matter which one). With out making any changes to the generated code, I do a build. When the build is done, I get an error in the following file.
/Kenn/apps/kenn/iphone/native/www/default/worklight/messages/es line 31 JSON Problem
The error is a missing quote and comma at the end of a line in the JSON file generated by the tool. If you try to fix it, it will be regenerated.
Below is a snippet of what is being generated in the messages file:
"directUpdateNotificationMessageKilobytes" : "Hay disponibles nuevos recursos web. ¿Desea descargarlos ahora? (tamaño de archivo: {0} KB).
"directUpdateErrorTitle" : "Actualización fallida",
This appears to be a new defect. From my testing, I first notice the issue in 7.1 iFix build IF20151104-1620. I've also confirmed that it is present in IF20151107-1647. However, my testing indicates that it is not present in IF20151103-1015, or prior builds.
I've opened APAR PI52202 to report the defect.

Unreadable Notebook NotJSONError('Notebook does not appear to be JSON: u\'{\\n "cells": [\\n {\\n "cell_type": "...',)

Getting this very strange error when I am trying to load my ipython notebook. Never had it before, and I cannot to my recollection, remember having done anything silly with ipython:
Unreadable Notebook: /path/to/notebooks/results.ipynb NotJSONError('Notebook does not appear to be JSON: u\'{\\n "cells": [\\n {\\n "cell_type": "...',)
which is followed by
400 GET /api/contents/results.ipynb?type=notebook&_=1440010858974 (127.0.0.1) 36.17ms referer=http://localhost:8888/notebooks/results.ipynb
Save yourself a headache. Open your .ipynb in any online JSON validator and it will tell you which lines have issues. I used this one.
In my case, I am using GitHub to save and share my ipython files with my teammate. When there is a conflict in the code, I had to delete those lines indicating the changes in the conflicting code such as:
>>>>>>>>head
=============
and It works for me.
This happened to me as well. I opened my data.ipynb file using notepad and found out it was blank.
I managed to recover my file by going into the hidden ipynb_checkpoints folder and copying data_checkpoint.ipynb out into my working directory.
In my Mac OS terminal
cd .ipynb_checkpoints
cp data-checkpoint.ipynb \..
Thankfully the codes were preserved. Hope this helps!
I just had the same issue after upgrading from IPython 0.13 (ish) to Jupyter 4.
The problem in my case were a few rogue trailing commas in the JSON, for example the comma following "outputs" in:
...
"language": "python",
"metadata": {},
"outputs": [],
},
After removing the commas, Jupyter/IPython could again read the notebook (and upgraded it to version 4). I hope this helps.
The easiest way to recover corrupted Jupyter notebook files, whether it contains text or not (size = 0KB), is to go to the project folder and display the hidden files. Once the hidden files are displayed, you will see a folder named '.ipynb_checkpoints'. Simply open this folder and take the file you want!
Visual studio code procedure
This is my procedure that usually avoids me groping in the dark.
I installed a json parser validator like this one.
Open the file and save a copy as .json file.
Open the json and look for the errors.
Save it back to the .ipynb extension.
Usually, I manage to fix the errors quickly.
Jupyter autosaves in a specific way. It means You have accidentally closed the notebook before properly saving it.
You need to look for three things -
Search for <<<<<<< and delete those lines.
Search for ====== and replace those lines with ,.
Search for >>>>>>> and delete those lines.
It will work fine after this.
this can be changed to reformat your ipynb file to readable in jupyter notebook. check your other ipynb files(open in notepad) which are working fine with your jupyter notebook, check and compare at the end of the files in notepad. there you can reformat the file which is not working.
I had this issue from accidentally saving as .txt from github and solved by deleting .txt (leaving .ipynb instead of .ipynb.txt when downloading)
Yes, the best solution for me was I saved my notebook in HTML format, then opened it in Notepad ++ , delete the long repeated lines of output which were causing my notebook to grow to 45MB, once that cleared, Saved the file back into (.ipynb) format , and was able to opened it with no JSON error.
Hope that worked for others as well!
Got this error after conflicts while pushing my code to Github. The code present on the repo was old, and my changes were stashed. Notebook wasn't opening in either Jupyter and github repo. Following above comments, I searched for the part in my code which was giving JSON error,i.e. '<<<<<<<<<<<', '=======' and '>>>>>>>>>>' characters using an online json parser. Then I opened my .ipynb notebook in notepad++ and manually replaced these characters with blank string ''. After this, the notebook opened on my local Jupyter, and I also pushed the changes to Github.
I have changed by ipynb file encoding from UTF-8-BOM to UTF-8, and then it worked.
My native language is not English, but because this problem helped me a part, I came to feedback my solution.
The following is translated with translation software:
Fundamentally, the file format is messed up due to wrong closing. When opening, the correctness of the json format will be checked first, and an error will be returned if it is found to be wrong.
The mess in my file format is not <<<<< or ====== but the lack of commas.
Either way, it's best to use a piece of software to detect errors in the json syntax, and then manually fix it yourself.
The json website detection provided by the highest praise is available, but the detection errors are not complete, and may need to be detected-modified-detected-modified.
Also use vscode to open the file, vscode will prompt the location of the json syntax error, which is also incomplete and needs to be checked and modified multiple times.
The error location provided is more difficult to find. I use nodepad++, and the lower right corner can display how many characters are selected (standard, including line breaks). Then select from the first character until the destination position.
Although it's a bit stupid, the main reason is that I didn't find the relevant positioning method.
Clear all outputs.
Then copy the notebook.
If you use Jupyter-Notebook in VS code, just save it in VS code, close the file and try to open it again by accessing the browser.
on ubuntu 20.04, I have file String.ipynb. I had same problem because I coded ơ [ echo 'hello' >> String.ipynb ]. deleting 'hello' in String.ipynb -> I could open my notebook like normal.
how did I delete? [ nano String.ipynb ] * move to last line (hello) * -> delete it.
I hope my answer help you :D
you will see this error may be because, you were getting merge conflict in .ipynb file. because of that git adds >>>>>>>> HEAD thing in .ipynb file which makes is unreadable.
To overcome this issue open .ipynb file in vim editor and then remove the incoming changes or your changes as per your use case.
vim <your-.ipynb-file-path>
To remove incoming changes remove content between these lines<<<<<<<<<< HEAD ==============. Note:- remove this line as well >>>>>>>>>>>> this line.
to remove your changes remove content between these lines ============== >>>>>>>>>>>. Note:- remove this line as well a <<<<<<<<<< HEAD
I had the same issue after git merge while using VS Code and Jupyter extension.
VS Code would not open the notebook after the merge conflicts were highlighted in the notebook JSON by git (e.g. <<<<<). One way around it was to highlight the changes and accept one by one using the file viewer in the VSCode git interface.
Alternative that worked for me was to rename the file to .json so that it would open and then search for each instance of <<<<< and accept the incoming change.

Interpret/Render output from puts() as HTML

When I run my ruby script, I want the output to be rendered as HTML, preferably with a browser (e.g. Chrome). However, I would very much prefer if I didn't have to start a webservice, because I'm not making a website. I've tried sinatra, and the problem with it, is that I have to restart the server every time I do changes to my code, plus it features requests (like GET/POST-arguments) which I don't really need.
I simply prefer the output from my Ruby program to appear as HTML as opposed to console-text -- since html allows for more creative/expressive output. Is there a good/simple/effective way to do this? (I'm using notepad++ to edit my code, so if its possible to combine the above with it somehow, that would be awesome).
Thanks alot :)
Using the gem shotgun you can run a Sinatra app that automatically reloads changes without restarting the server.
Alternatively, using a library like awesome_print which has HTML formatting, you could write a function which takes the output and saves it to a file. Then open the file in Chrome.
If you don't want to have to manually refresh the page in Chrome, you could take a look at guard-livereload (https://github.com/guard/guard-livereload) which will monitor a given file using the guard gem and reload Chrome. Ryan Bates has a screenshot on guard here, http://railscasts.com/episodes/264-guard.
Here's a function that overrides Kernel#puts to print the string to STDOUT and write the HTML formatted version of it to output.html.
require 'awesome_print'
module Kernel
alias :old_puts :puts
def puts(string)
old_puts string
File.open("output.html", "w") do |file|
file.puts string.ai(:html => true)
end
end
end
puts "test"