| Commit message (Collapse) | Author | Age |
|
|
|
|
| |
If the output temporary file cannot be atomically renamed to its final
destination, we need to copy its contents.
|
|
|
|
|
|
|
|
| |
We don't depend on any specific Endless SDK symbols, and if we link
against the SDK library itself we end up enabling the profiling probes;
this means we may end up overwriting the profiling data we're trying to
open, if by any chance we have `EOS_PROFILE=capture:` in our environment
pointing to the profile data we're opening.
|
|
|
|
|
|
|
|
|
|
| |
If we're using eos-profile-diff in a CI infrastructure then we should
not be printing out data in a human readable format, as we may want to
interpret the output using scripts at a later point.
We can use JSON, instead, and allow redirecting the output to a file;
this way, we can store the output as an artifact, collect it, and parse
it later.
|
|
|
|
|
| |
Compares N probe data files and prints a quick overview with the average
timings of all the probes.
|
|
|
|
|
| |
Now that we have it, we can cut some common code from the convert and
show sub-commands.
|
|
|
|
|
|
|
| |
Both the convert and the show sub-commands for eos-profile have code to
turn a GVariant into a profile probe for the v1 of the format.
Let's move it out into its own internal utility function.
|
|
|
|
|
|
|
|
|
|
| |
If we want to perform additional analysis on a profile capture file it's
generally going to be easier to have it in a different format than a
GVDB binary blob, especially if we want to use tools that are written in
high level languages that may not have access to the GVDB API.
The simplest format we can convert to is JSON, which is structured and
easy to parse with other languages.
|
|
|
|
| |
This avoids having each command handle it differently.
|
|
|
|
| |
The spacing makes it look like a typo.
|
|
|
|
|
| |
There is no ordering guaranteed in the GVDB key names; while this is
okay for the probes, the metadata section should be clustered together.
|
| |
|
|
|
|
| |
We need to check all meta data keys.
|
|
|
|
| |
Add more Unicode art.
|
|
|
|
|
| |
The `show` command loads a list of profile capture files and prints the
metadata and sample summary.
|
|
|
|
|
|
| |
Captures of profiling data are saved in a binary format, and we need a
tool that can load them and turn them into user readable (or machine
readable) data.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When an element, such as <p>, has a name="translatable" attribute, we
also want to grab markup tags inside the element and translate them as
well.
For example, previously this HTML:
<p name="translatable">An embedded <b>tag</b> in a paragraph</p>
would result in the following string being extracted:
_("An embedded");
However, we want it to be:
_("An embedded <b>tag</b> in a paragraph");
This removes the use of BeautifulSoup from the eos-html-extractor script.
Unfortunately BeautifulSoup could have done this quite easily, but it
does not provide any line number information, which we need. Previously
in order to get the line numbers we also used html.parser from Python's
standard library, to augment the data we got from BeautifulSoup. However,
this issue required html.parser to do all the work that BeautifulSoup did
anyway, so there is no reason to use BeautifulSoup anymore.
[endlessm/eos-sdk#3291]
|
|
|
|
|
|
|
| |
When generating the .dummy.c file, eos-html-extractor previously did not
escape quotes correctly.
[endlessm/eos-sdk#3291]
|
|
|
|
|
|
|
|
|
|
|
|
| |
Whitespace between words and tags doesn't matter to HTML. Indeed, the
text in a translatable element may be formatted any way over any number
of lines, so we normalize all consecutive whitespace to be just one space
character and strip whitespace from the beginning and end of the strings.
This is so that translators are not confronted with strange newlines and
whitespace on Transifex.
[endlessm/eos-sdk#3291]
|
|
|
|
|
|
|
|
|
| |
This gets the underlying byte stream of sys.stdout and wraps it in a
UTF-8 encoder. That is then used as the default output file rather than
sys.stdout itself, which on Jenkins may not have a default encoding of
UTF-8.
[endlessm/eos-sdk#3245]
|
|
|
|
|
|
|
|
| |
Since this is Python 3, we can specify at file-open time what the
encoding of the input and output files is to be. This should fix any
build errors with non-ASCII characters in an ASCII terminal environment.
[endlessm/eos-sdk#3245]
|
|
|
|
| |
Try to fix a Jenkins test failure.
|
|
|
|
|
|
|
|
| |
I noticed that --version gave the wrong description, so I removed the
description entirely. I changed the help string to parallel that of
eos-html-extractor.
[endlessm/eos-sdk#3245]
|
|
|
|
|
|
| |
May as well be forward compatible, while we're touching this.
[endlessm/eos-sdk#3245]
|
|
|
|
|
|
|
| |
eos-html-extractor would crash if it encountered some text comment before
it had encountered a comment.
[endlessm/eos-sdk#3245]
|
|
|
|
|
|
| |
Another minor cleanup; TranslatableHTMLParser shouldn't use global state.
[endlessm/eos-sdk#3245]
|
|
|
|
|
|
|
| |
We don't need to import all of os, just os.path; and urllib was not
necessary for reading the file.
[endlessm/eos-sdk#3245]
|
|
|
|
| |
[endlessm/eos-sdk#3245]
|
|
|
|
|
|
| |
For more consistency in command line argument handling.
[endlessm/eos-sdk#3245]
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is taken almost directly from the existing version in eos-english.
Cleanups to follow in subsequent commits. Previously the m4 code was in
two separate macros, but since they were much the same, I combined them
into one macro.
This also adds a very minimal test for eos-html-extractor; basically as
a very quick regression test for the cleanups to follow.
[endlessm/eos-sdk#3245]
|
|
|
|
|
|
|
| |
This test runner dates from even before eos-jasmine, and is not used
anywhere.
[endlessm/eos-sdk#3054]
|
|\
| |
| | |
First round of dev vm preparation scripts
|
| |
| |
| |
| | |
[endlessm/eos-sdk#1620]
|
| |
| |
| |
| | |
[endlessm/eos-sdk#1620]
|
| |
| |
| |
| | |
[endlessm/eos-sdk#1620]
|
| |
| |
| |
| | |
[endlessm/eos-sdk#1620]
|
| |
| |
| |
| | |
[endlessm/eos-sdk#1620]
|
| |
| |
| |
| | |
[endlessm/eos-sdk#1620]
|
| |
| |
| |
| |
| |
| | |
per task
[endlessm/eos-sdk#1620]
|
| |
| |
| |
| | |
[endlessm/eos-sdk#1620]
|
| |
| |
| |
| | |
[endlessm/eos-sdk#1620]
|
| |
| |
| |
| | |
[endlessm/eos-sdk#1620]
|
| |
| |
| |
| | |
[endlessm/eos-sdk#1620]
|
| | |
|
|/
|
|
| |
[endlessm/eos-sdk#475]
|
|\
| |
| | |
#335 Integrated JSON extraction utility
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The utility used in eos-english and eos-programming-app was integrated and installed as part of the SDK
CR comments addressed include:
- Integrated new facilities available on GTK
- Removed duplicate prototype declaration
- Reformatted CLEANFILES var declaration
- Used configure.ac to get @PACKAGE_VERSION@
- Added version() and usage() utilities
[endlessm/eos-sdk#335]
|
|\ \
| |/
|/| |
Use System.exit() and System.programInvocationName
|
| |
| |
| |
| |
| |
| |
| | |
In GJS >= 1.38, these facilities are available. This removes the
workarounds that we had for lack of these facilities.
[endlessm/eos-sdk#432]
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This implements the 'init' subcommand of the application manifest tool,
which creates a new manifest in the current directory.
[endlessm/eos-sdk#154]
[endlessm/eos-sdk#154]
|
| |
| |
| |
| | |
[endlessm/eos-sdk#154]
|