git-update-index - Register file contents in the working tree to the index
git update-index
[--add] [--remove | --force-remove] [--replace]
[--refresh] [-q] [--unmerged] [--ignore-missing]
[(--cacheinfo <mode>,<object>,<file>)...]
[--chmod=(+|-)x]
[--[no-]assume-unchanged]
[--[no-]skip-worktree]
[--ignore-submodules]
[--really-refresh] [--unresolve] [--again | -g]
[--info-only] [--index-info]
[-z] [--stdin] [--index-version <n>]
[--verbose]
[--] [<file>...]
Modifies the index or directory cache. Each file mentioned is updated into the index and any unmerged or needs updating state is cleared.
See also git-add(1) for a more user-friendly way to do some of the most common operations on the index.
The way git update-index handles files it is told about can be modified using the various options:
--add
If a specified file isn(cqt in the index already then it(cqs added. Default behaviour is to ignore new files.
--remove
If a specified file is in the index but is missing then it(cqs removed. Default behavior is to ignore removed file.
--refresh
Looks at the current index and checks to see if merges or updates are needed by checking stat() information.
-q
Quiet. If --refresh finds that the index needs an update, the default behavior is to error out. This option makes git update-index continue anyway.
--ignore-submodules
Do not try to update submodules. This option is only respected when passed before --refresh.
--unmerged
If --refresh finds unmerged changes in the index, the default behavior is to error out. This option makes git update-index continue anyway.
--ignore-missing
Ignores missing files during a --refresh
--cacheinfo <mode>,<object>,<path>, --cacheinfo <mode> <object> <path>
Directly insert the specified info into the index. For backward compatibility, you can also give these three arguments as three separate parameters, but new users are encouraged to use a single-parameter form.
--index-info
Read index information from stdin.
--chmod=(+|-)x
Set the execute permissions on the updated files.
--[no-]assume-unchanged
When these flags are specified, the object names recorded for the paths are not updated. Instead, these options set and unset the "assume unchanged" bit for the paths. When the "assume unchanged" bit is on, Git stops checking the working tree files for possible modifications, so you need to manually unset the bit to tell Git when you change the working tree file. This is sometimes helpful when working with a big project on a filesystem that has very slow lstat(2) system call (e.g. cifs).
This option can be also used as a coarse file-level mechanism to ignore uncommitted changes in tracked files (akin to what .gitignore does for untracked files). Git will fail (gracefully) in case it needs to modify this file in the index e.g. when merging in a commit; thus, in case the assumed-untracked file is changed upstream, you will need to handle the situation manually.
--really-refresh
Like --refresh, but checks stat information unconditionally, without regard to the "assume unchanged" setting.
--[no-]skip-worktree
When one of these flags is specified, the object name recorded for the paths are not updated. Instead, these options set and unset the "skip-worktree" bit for the paths. See section "Skip-worktree bit" below for more information.
-g, --again
Runs git update-index itself on the paths whose index entries are different from those from the HEAD commit.
--unresolve
Restores the unmerged or needs updating state of a file during a merge if it was cleared by accident.
--info-only
Do not create objects in the object database for all <file> arguments that follow this flag; just insert their object IDs into the index.
--force-remove
Remove the file from the index even when the working directory still has such a file. (Implies --remove.)
--replace
By default, when a file path exists in the index, git update-index refuses an attempt to add path/file. Similarly if a file path/file exists, a file path cannot be added. With --replace flag, existing entries that conflict with the entry being added are automatically removed with warning messages.
--stdin
Instead of taking list of paths from the command line, read list of paths from the standard input. Paths are separated by LF (i.e. one path per line) by default.
--verbose
Report what is being added and removed from index.
--index-version <n>
Write the resulting index out in the named on-disk format version. Supported versions are 2, 3 and 4. The current default version is 2 or 3, depending on whether extra features are used, such as git add -N.
Version 4 performs a simple pathname compression that reduces index size by 30%-50% on large repositories, which results in faster load time. Version 4 is relatively young (first released in in 1.8.0 in October 2012). Other Git implementations such as JGit and libgit2 may not support it yet.
-z
Only meaningful with --stdin or --index-info; paths are separated with NUL character instead of LF.
--split-index, --no-split-index
Enable or disable split index mode. If enabled, the index is split into two files, $GIT_DIR/index and $GIT_DIR/sharedindex.<SHA-1>. Changes are accumulated in $GIT_DIR/index while the shared index file contains all index entries stays unchanged. If split-index mode is already enabled and --split-index is given again, all changes in $GIT_DIR/index are pushed back to the shared index file. This mode is designed for very large indexes that take a signficant amount of time to read or write.
--
Do not interpret any more arguments as options.
<file>
Files to act on. Note that files beginning with . are discarded. This includes ./file and dir/./file. If you don(cqt want this, then use cleaner names. The same applies to directories ending / and paths with //
--refresh does not calculate a new sha1 file or bring the index up-to-date for mode/content changes. But what it does do is to "re-match" the stat information of a file with the index, so that you can refresh the index for a file that hasn(cqt been changed but where the stat entry is out of date.
For example, you(cqd want to do this after doing a git read-tree, to link up the stat index details with the proper files.
--cacheinfo is used to register a file that is not in the current working directory. This is useful for minimum-checkout merging.
To pretend you have a file with mode and sha1 at path, say:
$ git update-index --cacheinfo mode sha1 path
--info-only is used to register files without placing them in the object database. This is useful for status-only repositories.
Both --cacheinfo and --info-only behave similarly: the index is updated but the object database isn(cqt. --cacheinfo is useful when the object is in the database but the file isn(cqt available locally. --info-only is useful when the file is available, but you do not wish to update the object database.
--index-info is a more powerful mechanism that lets you feed multiple entry definitions from the standard input, and designed specifically for scripts. It can take inputs of three formats:
h'-04' 1.h'+01'c
mode SP sha1 TAB path
The first format is what "git-apply --index-info" reports, and used to reconstruct a partial tree that is used for phony merge base tree when falling back on 3-way merge.
h'-04' 2.h'+01'c
mode SP type SP sha1 TAB path
The second format is to stuff git ls-tree output into the index file.
h'-04' 3.h'+01'c
mode SP sha1 SP stage TAB path
This format is to put higher order stages into the index file and matches git ls-files --stage output.
To place a higher stage entry to the index, the path should first be removed by feeding a mode=0 entry for the path, and then feeding necessary input lines in the third format.
For example, starting with this index:
$ git ls-files -s 100644 8a1218a1024a212bb3db30becd860315f9f3ac52 0 frotz
you can feed the following input to --index-info:
$ git update-index --index-info 0<PHONE_NUMBER>000000000000000000000000000000 frotz 100644 8a1218a1024a212bb3db30becd860315f9f3ac52 1 frotz 100755 8a1218a1024a212bb3db30becd860315f9f3ac52 2 frotz
The first line of the input feeds 0 as the mode to remove the path; the SHA-1 does not matter as long as it is well formatted. Then the second and third line feeds stage 1 and stage 2 entries for that path. After the above, we would end up with this:
$ git ls-files -s 100644 8a1218a1024a212bb3db30becd860315f9f3ac52 1 frotz 100755 8a1218a1024a212bb3db30becd860315f9f3ac52 2 frotz
Many operations in Git depend on your filesystem to have an efficient lstat(2) implementation, so that st_mtime information for working tree files can be cheaply checked to see if the file contents have changed from the version recorded in the index file. Unfortunately, some filesystems have inefficient lstat(2). If your filesystem is one of them, you can set "assume unchanged" bit to paths you have not changed to cause Git not to do this check. Note that setting this bit on a path does not mean Git will check the contents of the file to see if it has changed (em it makes Git to omit any checking and assume it has not changed. When you make changes to working tree files, you have to explicitly tell Git about it by dropping "assume unchanged" bit, either before or after you modify them.
In order to set "assume unchanged" bit, use --assume-unchanged option. To unset, use --no-assume-unchanged. To see which files have the "assume unchanged" bit set, use git ls-files -v (see git-ls-files(1)).
The command looks at core.ignorestat configuration variable. When this is true, paths updated with git update-index paths... and paths updated with other Git commands that update both index and working tree (e.g. git apply --index, git checkout-index -u, and git read-tree -u) are automatically marked as "assume unchanged". Note that "assume unchanged" bit is not set if git update-index --refresh finds the working tree file matches the index (use git update-index --really-refresh if you want to mark them as "assume unchanged").
To update and refresh only the files already checked out:
$ git checkout-index -n -f -a && git update-index --ignore-missing --refresh
On an inefficient filesystem with core.ignorestat set
$ git update-index --really-refresh (1) $ git update-index --no-assume-unchanged foo.c (2) $ git diff --name-only (3) $ edit foo.c $ git diff --name-only (4) M foo.c $ git update-index foo.c (5) $ git diff --name-only (6) $ edit foo.c $ git diff --name-only (7) $ git update-index --no-assume-unchanged foo.c (8) $ git diff --name-only (9) M foo.c
1. forces lstat(2) to set "assume unchanged" bits for paths that match index.
2. mark the path to be edited.
3. this does lstat(2) and finds index matches the path.
4. this does lstat(2) and finds index does not match the path.
5. registering the new version to index sets "assume unchanged" bit.
6. and it is assumed unchanged.
7. even after you edit it.
8. you can tell about the change after the fact.
9. now it checks with lstat(2) and finds it has been changed.
Skip-worktree bit can be defined in one (long) sentence: When reading an entry, if it is marked as skip-worktree, then Git pretends its working directory version is up to date and read the index version instead.
To elaborate, "reading" means checking for file existence, reading file attributes or file content. The working directory version may be present or absent. If present, its content may match against the index version or not. Writing is not affected by this bit, content safety is still first priority. Note that Git can update working directory file, that is marked skip-worktree, if it is safe to do so (i.e. working directory version matches index version)
Although this bit looks similar to assume-unchanged bit, its goal is different from assume-unchanged bit(cqs. Skip-worktree also takes precedence over assume-unchanged bit when both are set.
The command honors core.filemode configuration variable. If your repository is on a filesystem whose executable bits are unreliable, this should be set to false (see git-config(1)). This causes the command to ignore differences in file modes recorded in the index and the file mode on the filesystem if they differ only on executable bit. On such an unfortunate filesystem, you may need to use git update-index --chmod=.
Quite similarly, if core.symlinks configuration variable is set to false (see git-config(1)), symbolic links are checked out as plain files, and this command does not modify a recorded file mode from symbolic link to regular file.
The command looks at core.ignorestat configuration variable. See Using "assume unchanged" bit section above.
The command also looks at core.trustctime configuration variable. It can be useful when the inode change time is regularly modified by something outside Git (file system crawlers and backup systems use ctime for marking files processed) (see git-config(1)).
git-config(1), git-add(1), git-ls-files(1)
Part of the git(1) suite


Last release, Tim added a stealth feature to Launchpad. Since it's incomplete we didn't announce it on the official blog, but it's useful enough to share here.
If you browse to https://code.launchpad.net/~$USERNAME/$PROJECT, you'll get a list of all the branches in $PROJECT owned by $USERNAME, e.g. Chris's Gnome Do branches or Graham's Gwibber branches. I use this mostly to track my own branches in a project so I can make sure I haven't let any slip through the cracks.
We want to make it possible to get to these pages without URL hacking, of course. But if you use both Bazaar and Launchpad quite heavily then this trick is worth knowing about even as it is.
I'm very glad to have it, it's very useful!


The following is a test. So, lets begin with a few phrases.
I like to use these to sew all the time. Bows, lace and some ribbon.Because theres so much variety of lace and ribbon out there. Fancy, simple, cute, sophiscated and so much more than that.


libstddjb
libskarnet
skalibs
Software
skarnet.org
The following functions are declared in the skalibs/allreadwrite.h header, and implemented in the libskarnet.a or libskarnet.so library.
allreadwrite is a set of IO function helpers. It's the basis for safe reading and writing, either in blocking or in non-blocking mode. The buffer interface relies heavily on allreadwrite.
Unless the IO you need is very simple, you generally should not be using the allreadwrite functions directly; you should use higher-level APIs such as buffer and bufalloc.
typedef ssize_t io_func (int fd, char *buf, size_t len)
This is the simplified type of IO functions such as
read()
and
write().
typedef ssize_t iov_func (int fd, struct iovec const *v, unsigned int vlen)
This is the simplified type of IO functions such as
readv()
and
writev(),
where the content to perform IO on is specified as a
scatter/gather array of vlen
elements instead of a single string.
typedef size_t allio_func (int fd, char *buf, size_t len)
This is the type of an IO operation that expects all of its
len bytes to be sent or received, and that will loop around a
lower-level IO function until either len bytes have been
transmitted or an error has occurred. The return value is the actual
number of transmitted bytes; if this value is lesser than len,
it means that an error has occurred and errno is set.
ssize_t sanitize_read (ssize_t r)
Reading functions such as read() and fd_read return
a positive number when they succeed, -1 when they fail, and 0 when they
read an EOF. No data available on the descriptor when reading in
non-blocking mode is treated as a failure: -1 EWOULDBLOCK. But sometimes
(namely, in asynchronous IO loops) it's preferrable to handle EOF as an
exception condition and EWOULDBLOCK as a normal condition.
sanitize_read(), when applied to the result of a basic reading
function, returns 0 if r is -1 and errno is EWOULDBLOCK (or
EAGAIN). If r is zero, it returns -1 EPIPE. Else it returns r.
(No system reading function can ever set errno to EPIPE, and the semantics are appropriate, so EPIPE is a good candidate to signal EOF on reading.)
ssize_t unsanitize_read (ssize_t r)
Returns the inverse of sanitize_read
.
size_t allreadwrite (io_func *f, int fd, char *s, size_t len)
*f must be a basic reading or writing function such as
fd_read or fd_write. allreadwrite() performs
*f on fd, s and len until len
bytes have been read or written, or until an error occurs. It returns the
total number of handled bytes, and sets errno if this number is not
len. allreadwrite may block if fd is in
blocking mode; if fd is in non-blocking mode, it might
set errno to EWOULDBLOCK or EAGAIN.
size_t allreadwritev (iov_func *f, int fd, struct iovec const *v, unsigned int vlen)
Like allreadwrite
but the content to perform IO on is specified as a
scatter/gather array of vlen
elements instead of a single string.
ssize_t fd_read (int fd, char *s, size_t len)
Safe wrapper around the
read()
function.
ssize_t fd_write (int fd, char const *s, size_t len)
Safe wrapper around the
write()
function.
ssize_t fd_readv (int fd, struct iovec const *v, unsigned int vlen)
Safe wrapper around the
readv()
function.
ssize_t fd_writev (int fd, struct iovec const *v, unsigned int vlen)
Safe wrapper around the
writev()
function.
ssize_t fd_recv (int fd, char *s, size_t len, unsigned int flags)
Safe wrapper around the
recv()
function.
ssize_t fd_send (int fd, char const *s, size_t len, unsigned int flags)
Safe wrapper around the
send()
function.
size_t allread (int fd, char *s, size_t len)
Equivalent to allreadwrite(&fd_read, fd, s, len)
: attempts
to read len bytes from fd into s, looping around
fd_read() if necessary, until either len bytes are read or
an error occurs.
size_t allwrite (int fd, char const *s, size_t len)
Equivalent to allreadwrite((io_func *)&fd_write, fd, s, len)
:
attempts to write len bytes from s to fd, looping
around fd_write() if necessary, until either len bytes are
written or an error occurs.
size_t allreadv (int fd, struct iovec *v, unsigned int vlen)
Like allread, but the bytes from fd are read into a
scatter/gather array of vlen
elements instead of a single string.
size_t allwritev (int fd, struct iovec const *v, unsigned int vlen)
Like allwrite, but the content to write is taken from a
scatter/gather array of vlen
elements instead of a single string.


Disgaea Clicker
Kills: 0
Experience: 0
Mana: 0
Martial Artist
Level: 0
Exp to Level Up: 10
Fight Mistress
Level: 0
Exp to Level Up: 10
Warrior
Level: 0
Exp to Level Up: 10
Kills: 0
Experience: 0
Mana: 0
Level: 0
Exp to Level Up: 10
Level: 0
Exp to Level Up: 10
Level: 0
Exp to Level Up: 10


I'm Min-Chun, from Taiwan.
Currently studying a Master in Statistics and Machine Learning
at Linköping University, Sweden.
I share something that I have learnt.
Contact me<EMAIL_ADDRESS>This blog is based on Hyde Theme.


{block name="top"}{include file="public/top"}{/block}
{block name="left"}{/block} {block name="right"}{include file="public/right"}{/block}
{block name="footer"}{include file="public/footer"}{/block}


PC
Game Designer, 3D Artist
Joey Yeo (Game Designer, 2D Artist)
Chance Lytle (Game Designer, Programmer)
Parker Ramsey (Game Designer, Programmer)
This game was designed in less than 48 hours for the 2019 Global Game Jam in Pittsburgh. Our theme was "What does home mean to you?". It's a tough question, and we spent a long time discussing, but we even settled on an idea we all liked.
In Fright Switch, you play as a young girl who's afraid of the dark. We all remembered the fear of having to turn out the lights and run up the stairs from the basement as kids, so the idea was based on that. Everyday objects like chairs & plants can look scary in the dark, so as long as you avoid those before reaching the light, you'll be safe! Make it to your parents' bedroom before you get too scared!
Things always look a lot scarier in the dark. Be sure to reach the lamp as soon as you can!
CloseThings don't seem so scary once the lights are on! Time to head to the next room.
CloseIs the floor falling out behind you? Better keep moving forward to the next lamp!
CloseMaking it all the way to your parents' room is quite the feat, especially when it was so dark out there.
Close Project


*** User 2017-05-05 19:47:08.070 ***
19:47:08.070 [info] Disabling blocking sync...
*** User 2017-05-05 19:47:08.077 ***
19:47:08.077 [info] Configured peer_service_manager partisan_default_peer_service_manager on node 'node-1@MacBook-Pro-de-Anne-France'
*** User 2017-05-05 19:47:09.669 ***
19:47:09.669 [info] Enabling membership...
*** User 2017-05-05 19:47:09.671 ***
19:47:09.670 [info] Disabling blocking sync...
*** User 2017-05-05 19:47:09.675 ***
19:47:09.675 [info] Configured peer_service_manager partisan_default_peer_service_manager on node 'node-2@MacBook-Pro-de-Anne-France'
*** User 2017-05-05 19:47:11.274 ***
19:47:11.274 [info] Enabling membership...
*** User 2017-05-05 19:47:11.276 ***
19:47:11.276 [info] Disabling blocking sync...
*** User 2017-05-05 19:47:11.283 ***
19:47:11.282 [info] Configured peer_service_manager partisan_default_peer_service_manager on node 'node-3@MacBook-Pro-de-Anne-France'
*** User 2017-05-05 19:47:11.616 ***
Joining node: 'node-3@MacBook-Pro-de-Anne-France' to 'runner@MacBook-Pro-de-Anne-France' at port 53222
*** User 2017-05-05 19:47:11.616 ***
Joining issued: 'node-3@MacBook-Pro-de-Anne-France' to 'runner@MacBook-Pro-de-Anne-France' at port 53222
*** User 2017-05-05 19:47:11.616 ***
Joining node: 'node-2@MacBook-Pro-de-Anne-France' to 'runner@MacBook-Pro-de-Anne-France' at port 53205
*** User 2017-05-05 19:47:11.617 ***
Joining issued: 'node-2@MacBook-Pro-de-Anne-France' to 'runner@MacBook-Pro-de-Anne-France' at port 53205
*** User 2017-05-05 19:47:11.617 ***
Joining node: 'node-1@MacBook-Pro-de-Anne-France' to 'runner@MacBook-Pro-de-Anne-France' at port 53192
*** User 2017-05-05 19:47:11.618 ***
Joining issued: 'node-1@MacBook-Pro-de-Anne-France' to 'runner@MacBook-Pro-de-Anne-France' at port 53192
*** User 2017-05-05 19:47:11.678 ***
Waiting for join to complete with manager: partisan_default_peer_service_manager
*** User 2017-05-05 19:47:11.680 ***
Finished.
*** CT 2017-05-05 19:47:11.680 *** COVER INFO
Adding nodes to cover test: ['runner@MacBook-Pro-de-Anne-France']
*** CT 2017-05-05 19:47:11.689 *** COVER INFO
Successfully added nodes to cover test: []
*** User 2017-05-05 19:47:11.689 ***
Case finished: sql_join_uncontracted_latency_test
*** User 2017-05-05 19:47:18.747 ***
19:47:18.747 [info] Application lasp exited with reason: stopped
*** User 2017-05-05 19:47:18.748 ***
19:47:18.748 [info] Application partisan exited with reason: stopped
=== Ended at 2017-05-05 19:47:18
=== successfully completed test case
=== Returned value: ok
Test run history
| Top level test index


Release Notes¶
2.0.19¶
APP-2044 - [Testing] When generating test profiles with –negative, environments will be copied from base profile and “negative” appended.
APP-2128 - [Playbook] Accept any iterable for array types when creating outputs.
APP-2129 - [Playbook] Enhance add_output() to add None values to array types when append=True.
APP-2130 - Add foward-reference type hints.
APP-2140 - [tcinit] Add missing file for API Service template.
APP-2186 - [KeyValueStore] Add parameter to disable decoding of value read by read().
APP-2219 - [tctest] update tctest to allow user to re-enter choice inputs if they enter a bad value.
APP-2228 - [tcvalidate] Add several validations for feed job apps.
APP-2179 - [Service] Add support for Acknowledge commands.
APP-2180 - [Input] Updated resovled_args method to properly handle resolving arguments that come in as a list.
APP-1940 - [Profile] Updated merge_inputs method to resolve playbook variables for permutation check.
2.0.18¶
APP-1829 - [Session] Added logic to use http instead of https for proxy.
APP-2044 - [Testing] Enhance tctest –negative to copy environments from base profile and add ‘negative’.
2.0.17¶
Update setup.py package_data to include STIX parser lark file.
APP-1829 - [Session] Added logic to attempt to handle “[SSL: WRONG_VERSION_NUMBER] wrong version number” error new to urllib3.
2.0.16¶
APP-1807, APP-1801 - [STIX] Remove dependency on Dendrol and replace with lark parser.
2.0.15¶
APP-891 - [STIX] Added additional support for consuming and producing STIX documents.
APP-1212 - [Testing] fixed output deletion issue for skipped test when –merge_outputs is used.
APP-1244 - [Testing] Added the is_json operator to assist in testing validation.
APP-1406 - [Testing] Fixed testing issue centered around the validation_criteria field present during bulk tests.
APP-1407 - [Testing] Fixed issue encountered when validation_criteria is set in a test profile (apps that use batch).
APP-1413 - [Testing] Converts option inputs that have a value of null to use #App:1234:null!String.
APP-1641 - [Batch] Fixed issue that batch delete that prevented single submission or last submission from working.
APP-1642 - [Service] Increased tc_svc_broker_conn_timeout arg to 60 to address disconnect issue in API service.
APP-1643 - [App Init] Added “no-commit-to-branch” feature to the pre-commit configuration.
APP-1760 - [KeyValueStore] Updated module to support new endpoint for PLAT-1237 in support of service Apps running on MEO.
2.0.14¶
APP-1394 - [Batch] Updated batch data processing to handle max sizes appropriately.
2.0.13¶
APP-1296 - [Session] Updated external session retry to accept a URL for retry mount.
APP-1366 - [Batch] Fixed issue in batch where self._file_threads was not getting updated appropriately.
2.0.12¶
APP-1126 - [Logger] Compress backup log files and increase backup count to 25.
APP-1127 - [Batch] Fixed issue with recursion when having a large number of associations.
APP-1128 - [Batch] Updated DEBUG feature to assist in testing batch module..
APP-1129 - [Batch] Added support for batch_max_size to truncate the batch job at ~75Mb.
APP-1130 - [Batch] Removed file_contents getter and setter method.
APP-1131 - [Session] Updated request_to_curl method in Utils module to truncate body and not write body to disk.
APP-1262 - [App Feature] Update advanced_request module to take output_prefix as an arg.
APP-1263 - [Session] Update session module to only log curl command when request receives an invalid response or enabled globally.
APP-1264 - [Logger] - Update logger modules to set default encoding to “UTF-8” when no value set at the OS level.
APP-1266 - [Utils] Update utils datetime module to include a chunk_date_range method to be used in job Apps that need to break request into smaller timeframes.
APP-1267 - [Batch] Add batch callback method to batch module to allow downloading/processing of data while batch job polls for status.
APP-1268 - Update the default temp directory to use an OS appropriate value.
APP-1272 - [App Feature] - Remove feature to update install.json and layout.json for advanced_request.
APP-1280 - [Session] Add ability to mask the body when logging curl command.
2.0.11¶
APP-1107 - Added MITRE ATTACK Utils methods to return the properly formatted tag value.
APP-1119 - Update to batch module to handle recursion issue with integrations that have a large number of group associations.
2.0.10¶
APP-890 - Added discoverTypes to Ready command for API Services.
APP-939 - Restructure of Service module to better support API Services.
APP-943, APP-1027, App-1036 - Updated ReadArg and IterateArgs decorators for better transform and validator support.
APP-944 - Added rate limit and 429 (too-many-requests) in external session module.
APP-964 - Updated inputs module to allow duplicate args (advanced request requirement).
SUP-8557 - Updated how the Threat Intelligence module was adding observations to ThreatConnect objects.
Multiple misc. enhancements (APP-865, APP-1021, APP-1030, APP-1086)
Testing framework¶
APP-921 - Updated default operator rule for test cases.
APP-926 - Updated profile generation to not add String type to all inputs.
APP-935 - Updated tcinit to include custom_feature.py when missing.
APP-936 - Updated test handling when incorrect stage data is provided.
2.0.9¶
APP-849 - Updated request_to_curl method to handle proxy values properly.
APP-852 - Moved jmespath package from dev dependencies to standard dependencies.
2.0.8¶
APP-796 - Updated Advanced Request Method to always write output variable.
APP-813 - Updated datastore and cache modules; renamed ttl_minute to ttl_seconds, added handling of 0 or null ttl_second value.
APP-815 - Updated session_external to not raise RetryError.
APP-816 - Updated tcinit to not fail when no tcex.json file is present.
2.0.7¶
APP-780 - Added truncate method to Utils module.
APP-786 - Updated logger to addres TypeError exception.
APP-789 - Updated pre-commit configuration for App templates.
APP-790 - Added new Advance Request feature for App that utilize a remote API.
APP-791 - Updated session and session_external to not require an instance of tcex.
APP-792 - Updated services module to support sending failed message on ack.
APP-793 - Updated session to not create curl logs when sending API logs.
Testing framework¶
APP-77 - Added mechanism to tell if Webhook service Apps fired in testing framework.
APP-88 - Added “magic” variable expansion for tctest interactive mode.
APP-715 - Update validation for tags to be case insensitive in testing framework.
APP-746 - Update to address issue with email validation in testing framework.
APP-769 - Added rargs property to profile for custom methods in testing framework.
2.0.6¶
APP-79 - Added curl command to the log file at debug level to assist in troubleshooting.
APP-80 - Added support for __comment__ in testing profile.
APP-87 - Added check for invalid values in profile for Boolean inputs.
APP-102 - Addded pytest fixture for testing sessions.
APP-557 - Added update logic for profiles to convert static String inputs to Staged KVStore variables.
APP-561 - Updated precommit template file to support large files on commit.
APP-676 - Updated –interactive mode to support all input types.
APP-677 - Added –negative flag to tctest command to auto-generate negative test profiles.
Multiple enhancements for testing framework (APP-78, APP-82, APP-83, APP-84, APP-85, APP-86, APP-87, APP-106, APP-219)
2.0.5¶
Updated testing framework to decouple App version of TcEx and testing version.
Updated deepdiff validation method to better handle OrderedDicts.
Added simple caching to env_store.
Added session recording & playback for testing framework.
Added automatic staging of inputs to kvstore for testing framework.
Added additional support for batch in testing framework.
2.0.4¶
Updated decorator method logging.
Updated testing framework validation template to support dynamic output variable.
Updated testing framework validation template to validate output variable consistency.
Updated profile module to support variable from env store server.
Updated OnException decorator to log traceback.
Multiple enhancement and fixes to testing framework.
2.0.3¶
Added
is_variable()
method to Playbook module.Updated ReadArgs decorator to return None when arg doesn’t exist.
Updated ReadArgs to not log input value.
Added new Permutations class to app_config_object module.
Added new Profile and ProfileInteractive Classes to app_config_object module.
Added new TcexJson Class to app_config_object module.
Moved all testing template generation/download logic to consolidated templates.py file.
Added schema management to InstallJson class.
Added schema management to LayoutJson class.
Multiple updates for App testing framework. + Updated testing framework to support permutations for Service Apps + Added –replace_exit_message CLI flag for pytest to replace outputs for test cases + Added –replace_outputs CLI flag for pytest to replace outputs for test cases + Added –merge_outputs CLI flag for pytest to merge new outputs with existing outputs for test cases + Profile schema is now managed and old profiles will be automatically updated + Changed default run method for Serice Apps to be subprocess instead of thread.
Updated tcinit CLI command. + Removed –action CLI arg + Added –update CLI arg to enable updates of non-customized template files + Added –migrate CLI arg to enable migration of non-compliant PB Apps + Added –layouts CLI arg to allow for dynamic creation of example layout.json based on install.json * The tcinit command now store the template in the tcex.json file to allow easier updates
Updated tcpackage CLI command. * Moved logic that updates the install.json to the InstallJson class * Updated to use InstallJson and LayoutJson objects
Updated tctest CLI command. + Added –interactive flag to allow for dynamic creation of testing profile. + Updated to use new Profile Class and Template Classes
Updated tcvalidate CLI command. * Updated to use InstallJson and LayoutJson objects * Updated validation logic for layout.json
Multiple updates to App templates to remove subprocess. + Added
run()
method to run.py template for job and playbook Apps + Added app_lib.py dependencies for all App types + Updated __main__.py to call run method of run.pyAdded logging of TcEx path.
Updated Utils Class to no longer require tcex instance.
2.0.2¶
Updated requirement for stdlib-list to >= 0.6.0 to support Python 3.8.
Updated test cases to call setup/teardown instead of start/done.
Added pydocstyle as a development dependency.
Removed isort from App template pre-commit file.
Multiple updates for templates and testing logic for Service Apps.
Issue-103 - added support for ThreatConnect ThreatIntelligence File Actions.
Issue-107 - added check for missing config file for external Apps.
Issue-110 - added example for associations using Threat Intelligence Module.
Issue-111 - updated trace logger method for Python 3.8.x changes.
2.0.1¶
Updated bin module to delete reference to removed profile and run files.
Updated setup.py for long_description.
Updated README.md to include all dependencies.
2.0.0¶
Added support for ThreatConnect Case Management.
Added support for ThreatConnect Service Apps.
Updated templates to support changes in tcex 2.0.
Updated code to support Python 3.6+, removing support for all older versions of Python.
Removed old tcrun and tcprofile commands.
Breaking Change: Multiple updates to
playbook
module logic.Breaking Change: Moved datetime methods in tcex.utils.xxx to tcex.utils.datetime.xxx.
Breaking Change: Reworked App decorators to improve usability.
Breaking Change: Renamed
start()
anddone()
methods in templates tosetup()
andteardown()
.Breaking Change: Removed
tcex.s()
method.Breaking Change: Removed
tcex.data_filter
property and module.Breaking Change: Removed
tcex.request
property and module.Breaking Change: Removed
tcex.resources
property and module.Breaking Change: Removed
tcex.safetag()
method.Breaking Change: Removed
tcex.safeurl()
method.Breaking Change: Updated
tcex.safe_indicator()
method input params.Breaking Change: Updated
tcex.safe_url()
method input params.Breaking Change: Updated
tcex.safe_tag()
method input params.
1.1.x¶
1.1.8¶
Improved support for TI module to support creating files given a unique_id.
Updates to playbook modules to remove logging affecting environment servers.
1.1.7¶
Updates to testing framework for custom validation.
Updates to the docs for multiple modules.
Multiple updates to testing framework.
1.1.6¶
Updated deleted() method of TI module to yield results instead of returning raw response.
Updates to testing framework for custom methods when testing profiles.
Updated inputs to ensure args provided via sys.argv take precedent over all other args.
Added new service_id arg for service Apps.
Added POC of session_external. Python requests session with auto-proxy configuration.
Updated excludes for tcpackage command for pytest report folders.
1.1.5¶
Updated validation module to handle local imports and shared modules.
1.1.4¶
Added additional support for v2 API endpoints.
Added support for new appId field in the install.json.
Updated validation command to better handle packages with nested modules.
Updated PB module to handle execution with no requested output variables.
Updated PB module to handle null values in BinaryArray.
Updated TI modules to better handle conversion to and from TCEntity.
Updated external App template to allow passing configuration in on TcEx() initialization.
Multiple updates for testing framework.
1.1.3¶
Added cache handler to logging module.
Updated args module to use dict input over sys.argv when possible.
Updated args module replaced required args with a default value when possible.
Updated testing module for args changes and more.
Updated logging add handler calls in multiple modules.
Renamed args module to inputs.
Removed reference to args in logging module.
1.1.2¶
Updates to token and args modules to better support testing framework and external Apps.
Added kwargs on tcex init for external Apps.
Updates to testing templates.
1.1.1¶
Moved registration of default token to default_args method to address issue with secure params.
Updated template files.
Updated build process for wheel files.
Updated permutations generation to include hidden inputs.
1.1.0¶
Restructured tcex modules into individual directories.
Added services module for service Apps.
Added token module to manage tokens for all types of Apps.
Moved token renewal from session to new token module.
Updated multiple module to simplify testing.
1.0.x¶
1.0.7¶
Updated logging formatter for issue in py2.
Updated test_case to automatically create profile output.
1.0.6¶
Reworked logging for the TcEx framework to provide better flexibility.
Updated logging of batch sizes to not log when there is not content.
Moved the logging of App info to the args call.
Added trace logging level (unsupported in platform currently).
Added new testing module using pytest.
1.0.5¶
Updated arg parsing to better handle delimited input strings for secureParams/AOT input.
Updated TI module to better handle filters and retrieving generic indicator/group types.
Updated logging initialization to ensure user provided log path is available before adding file handler.
1.0.4¶
Updated datastore module to prevent creating of empty record on index creation.
Updated batch module to support additional debugging features.
1.0.3¶
Updated playbook read for
\s
replacement issue in Python 3.7.Updated utils
unix_time_to_datetime()
method to handle unix timestamps with milliseconds that are not floats.Updated TI module with changes for indicators data.
Updated tcinit for temporary proxy fields names.
1.0.2¶
Updated read_embedded to escape newline characters in embedded string values
1.0.1¶
Updated install.json schema validation to ensure that displayName contains a minimum of three characters
Updated read_embedded to cast data value to a string
Made minor updates to the TI module
1.0.0¶
Added new Threat Intel (TI) module to interact with ThreatConnect REST API
Added support of “s” characters to be replaced automatically with a space (” “) character on user string input in Playbook Apps
Added templates for external Apps
Updated read_embedded method to deserialize nested variables before replacement
Updated Utils module to better handle datetime timezone conversions
0.9.x¶
0.9.13¶
Updated ReadArg decorator to support
fail_on
parameterUpdated IterateOnArg decorator to support
fail_on
parameter and removedfail_on_empty
Updated
Datastore
module to support no ID for POST and GET methods
0.9.12¶
Added new FailOnInput decorator
Changed FailOn decorator to FailOnError with arg input changes to enable
Added additional logging to IterateOnArg decorator
0.9.11¶
Reverted change to Playbook module
read()
method for null value returned when Array is True
0.9.10¶
Updated App templates to call
parse_args()
from init methodUpdated
IterateOnArg
decorator to take an addition default valueUpdated
IterateOnArg
to exit or log when no data is retrieved from RedisUpdated
TcExRun
module to detect v3 profile args section by either optional or required fieldUpdated
TcExProfile
module to use new layout.json output logic and always display output variables unless display value exists and return negative validation
0.9.9¶
Added new
Cache
moduleAdded new
DataStore
moduleUpdated App templates to ignore or exclude definitions
Updated
tcprofile
permutation_id to handle 0 indexUpdated
tcpackage
command to not add commitHash if value is NoneUpdated
tcvalidate
command to handle permission errors when using pkg_resourcesUpdated install.json schema to include commitHash
0.9.8¶
Fixed issue with
sqlite
being imported while not required for AppsUpdated
tcprofile
to better support App bundle projects
0.9.7¶
Updated
tcex_args
module to parse injected params using a = separator instead of a space+ Updatedtcprofile
command to support permutations logic for Apps with layout.json conditional input parametersUpdated
tcprofile
command to update the profile schema to v3. Note that app.arg is now app.arg.optional and app.arg.required.Updated
tcrun
arg parsing logic to use a = separator instead of a spaceUpdated Batch module to support new 5.8+ merge of file hash feature
0.9.6¶
Added a fix for
tcvalidate
output display statement validationUpdated install.json schema file
Updated
tclib
to error when environment variables are not availableUpdated Batch module to handle xid as str for py2 Apps
0.9.5¶
Enabled package_data in setup.py for JSON schema files
0.9.4¶
Switched from setup.py package_data to MANIFEST.in for JSON schema files
0.9.3¶
Added new
tcvalidate
command for App BuilderAdded validation of layout.json schema, inputs, and outputs
Migrated JSON validation files from App to TcEx
0.9.2¶
Added new
FailOn
App decoratorUpdated run.py in Playbook templates to handle TypeError on incorrect action
Updated
tcpackage
command to suggest proper fix for missing modulesUpdated
tcrun
to handle null value in args
0.9.1¶
Fixed issue in
tcpackage
with handling errorsUpdated
tcpackage
command to validate import module for .py file in project-root directoryUpdated
tcpackage
moving install.json validation to top levelUpdated
tcpackage
to support--ignore_validation
arg. Using this flag will cause the command to not exit on validation errors.Updated install.json schema file to support new
feedDeployer
Boolean fieldUpdated
run.py
template file to ensure proper paths are set for an App
0.9.0¶
Updated all optional args in Batch module for Group/Indicator objects to kwargs. This will allow easier updates for new values in the future.
Updated the decode arg on the read Binary/BinaryArray methods to be False by default. When set to True, the
read()
method cannot be used in some use cases.Updated the Group and Indicator object in the Batch module to only produce random and unique xids when an xid is not provided. These objects will no longer produce a unique and reproducible xid.
Added new App templates and updated templates with new files and content
Added
tcex_args
module to include all args related methods from thetcex
moduleUpdated
request()
method to include proxy settingsUpdated
tcprofile
to include an epilog with command instructions on environment setup (> tcprofile -h)Updated
tcprofile
to split the args section to support “default” args and “app” argsUpdated
tcinit
to support templates instead of typesUpdated
tcinit
to include an epilog with template definitions (> tcinit -h)Updated
tcinit
to download additional files required for building AppsUpdated
tcrun
to support update args schema in profilesRemoved
tcex.jobs()
moduleRemoved
tcex.request_external()
methodRemoved
tcex.authorization()
methodRemoved
tcex.authorization_hmac()
methodRemoved
tcex._authorization_token_renew()
methodUpdated all code to standard formatting and structure
Updated and restructured Documents
0.8.x¶
0.8.27¶
Added decorator to provide common methods for Playbook Apps.
Added logic to
tcpackage
to do basic syntax validation of.py
and.json
filesAdded
add_output()
andwrite_output()
methods to provide an alternative way to write Playbook output dataAdded access to resolved args
Updated
tclib
logic for lib_latest symbolic link
0.8.26¶
Updated
tcinit
to include migration as an action to help convert non-App Builder compliant AppsUpdated Utils module for additional method to determine local timezone
Updated Utils module to output correct total_weeks value
0.8.25¶
Updated
tcinit
command CLI option--upgrade
to download additional filesUpdated
tcrun
command to use dockerImage parameter from install.json or profileUpdated
tcrun
command to support new autoclear value in profileUpdated
tclib
to create a symbolic link to the latest Python lib directoryUpdated
tcpackage
command to add commitHash value to install.jsonUpdated
tcex
module to log commitHash valueUpdated the
.gitignore
file for App templates
0.8.24¶
Fixed GH issue #(60)
Updated App templates. Added tc_action logic to handle launching action methods in the App class
Added
--docker
flag totcrun
command to launch App in docker container
0.8.23¶
Updated Batch module to handle Attribute values of False
Added
read_array
method to Playbook moduleUpdated App templates to include start and done methods
Update tcprofile to create the tcex.d directory automatically
0.8.22¶
Removed
__slots__
on Batch module due to issues with Python 2Updated tcinit and corresponding App templates
0.8.21¶
Added PDF method to Resource module for supported Group types
Added task_id method for Task class
Added date_added property to Indicator and Groups objects
Added last_modified property to Indicator objects
Updated tcrun for handling Binary/BinaryArray validation
0.8.20¶
Fixed deletion in Batch module for TC instances < 5.7
0.8.19¶
Removed app.lock logic
Updated file_content logic for Documents and Reports
Added
add_file()
method for batch Group objectsAdded playbook_triggers_enabled parameter to Batch module (requires ThreatConnect 5.7)
0.8.18¶
Made minor change to batch poll
Updated Batch module
close()
method to check for xids-saved file existence before deletion
0.8.17¶
Added app.lock file to temp directory to ensure single execution
0.8.16¶
Removed debugging flag from Batch module and replaced with logic to control debug externally
Updated batch-poll method logic to poll more frequently
Update Resource module to allow the addition of a body when reading from the datastore
0.8.15¶
Added signal handler to tcex to gracefully handle interrupts
Added new
tcinit
command to download files required for a new App or update files in an existing AppUpdated batch-poll method to automatically calculate poll interval. REMOVED interval-method parameter
Updated Batch module to raise error on batch-status poll timeout
Updated __main__.py to version 1.0.2
Moved and added supporting file to app_init directory
0.8.14¶
Added
close()
method to allow cleanup of temp files when batch job is doneAdded global overrides for halt_on_error in Batch module
Fixed issue with token renewal not failing properly on error
Updated logging method to ensure all messages are logged to file
Updated logging method to skip API logging during token renewal
Changed tcrun to not use shell on Windows systems
0.8.13¶
Updated Batch module to use Submit Job/Submit Data for deletes
Replaced tcex_develop arg with branch arg for tclib command
Added
generate_xid()
method to help generate a unique and/or reproducible xidAdded default value for Email score in Batch module
0.8.12¶
Added active property to Indicator type objects
Updated
save()
method be best effortUpdated
submit_file()
to handle None value being returnedUpdated
attribute()
methods to handle unique values when using a formatterFixed issue with –unmask arg not working on tcrun command
0.8.11¶
Merged AOT feature in prep for 5.7
Added
install_json()
method to load install.json, which is used in the injection method to determine the structure on the param valuesAdded
save()
method to save batch data to disk to reduce memory usage of the AppUpdated the logic in
default_args()
method to handle both injecting secureParams and AOT params depending, on selected feature.Updated
inject_params()
method to be public and generic and to allow params to be injected manuallyUpdated
tcex_redis
module to support additional Redis methods required for AOTUpdated
read_binary()
andread_binary_array()
methods to support b64decode and decode paramsUpdated
Report()
module to make the Report file name optional for updates in 5.7Updated examples in Documents
Fixed validation issues in tcrun
0.8.10¶
Updated submit_create_and_upload method to clear raw list after submission
Rewrote results_tc method to handle updates to key/value pairs
Updated tcrun to automatically create required directories
Updated tclib to support building tcex develop version with –tcex_develop CLI flag
0.8.9¶
Rewrote tcrun and tcprofile commands
Removed tcdata commands
Changed logging of unsupported args to only show when App retrieves args
Changed read_binary_array method to decode Redis data automatically
0.8.8¶
Updated
exit()
methods to treat exit code of 3 as non-failureUpdated v2 Batch createAndUpload
0.8.7¶
Updated secure params injection to handle pipe-delimited multiple-choice values
0.8.6¶
Fixed issue with API logging not working when secure params are enabled
Fixed issue with API logging timestamp precision
0.8.5¶
Updated tcdata for Playbook variable creation during staging testing data
Updated tcex logging for level and removal of stream logger once API logger is initialized
0.8.4¶
Updated tcdata to handle binary array
Updated tclib command to support environment variables in tcex.json file
Added initial functionality for v2 Batch create and upload
0.8.3¶
Updated regex for Playbook variables
0.8.2¶
Updated Tcdata module for local testing
Updated Batch v2 API
0.8.1¶
Updated secureParams loading order
Updated
tcex_logger
moduleUpdated
tcex
module to only import modules when requiredMoved
inflect()
to the Utils moduleUpdated documents for Metrics, Notifications, and Batch
0.8.0¶
Added tcex.session to provide access to the ThreatConnect API using Requests’ native interface
Added
tcex_batch_v2
module to replace the Jobs module starting in ThreatConnect 5.6Added msg to
exit()
methodsChanged
exit_code()
method to a property with a setterChanged
request()
property to a methodUpdated multiple methods to use
tcex_session
instead oftcex_request
Renamed Logger module to be consistent with other modules
Removed second arg from
expand_indicators()
methodRemoved owner parameter from
Datastore
moduleAdded deprecation warning for the following methods:
bulk_enabled()
,job()
,request_tc()
,epoch_seconds()
, andto_string()
. These methods will be removed in version 0.9.0.Cleaned up code, comments, and documentation
Added error code/message for all RuntimeError exceptions
0.7.x¶
0.7.21¶
Fixed issue with newstr when using quote() method in
safe_indicator()
0.7.20¶
Updated logging to log App name and other data
Added Notifications module for ThreatConnect 5.6+
0.7.19¶
Updated secure params injection to treat string value of True as Boolean/flag
Updated secure params to handle unicode values in py2
Updated Jobs module to use batch settings from args on init and to allow programmatic override of batch settings
Updated token renewal to handle issue with newstr
0.7.18¶
Updated Jobs module to not call safetag method when using Resource module
Updated Intrusion Set class in Resource module
Updated Group list to include new Group types
Added
upload()
anddownload()
methods to Report class in resource module.Added Task as a group type.
Added new secure params feature
0.7.17¶
Updated Utils module for handling naive datetime in py2
Added to_bool() method back to Utils module
0.7.16¶
Updated utils datetime methods to not require a timezone
Updated Tag class to urlencode tag value so slashes are supported
Updated safetag method to strip ^ from tag values
Changed modules dependency to use latest version instead of restricting to current version
Added Event, Intrusion Set, and Report Group types in preparation for TC > 5.6.0
Added metrics module to create and add metrics to ThreatConnect.
Added deleted endpoint for Indicators.
0.7.15¶
Updated Jobs module to delete by name when using replace for Groups
Updated token renewal to log more information on failure
Updated Playbooks read-binary array to better handle null values
0.7.14¶
Updated file Indicator class for proper handling of Attributes, Tags, and Labels
Updated
expand_indicators()
method to use a new regex to handle more formats for file hashes and custom Indicators
0.7.13¶
Fixed issue with embedded variable matching during exact variable check
0.7.12¶
Updated
Resource
for py2 unicode issue in ipAddress module
0.7.11¶
Updated
Resource
module to automatically handle files hashes in format “md5 : sha1 : sha256”Updated
Resource
module to reformat ipv6 addresses to same format as TC
0.7.10¶
Updated __main__.py template with better logic to detect Python lib directory version
Updated regex patterns for variable matching in Playbook module
Updated Playbook module function in handling variables
0.7.9¶
Updated
read_embedded()
method to better support embedded variablesAdded –report arg to
tcrun
to output a JSON Report of profiles and run dataAdded new JSON string comparison operator (jc/json compare) to
tcdata
to compare two JSON strings (requires DeepDiff to be installed locally)
0.7.8¶
Added KeyValueArray operator to
tcdata
, which allows searching for a single key/value entry in arrayUpdated functionality to replace non-quoted embedded variable to handle duplicate variables in KeyValueArray
0.7.7¶
Added new string comparison operator (sc) to
tcdata
that strips all white space before eq comparisonAdded new functionality to
TcExPlaybook
to replace non-quoted embedded variables in Read KeyValueArraysUpdated Create KeyValue/KeyValueArray methods to not JSON load when passed a string
Added
any_to_datetime()
method to return datetime.datetime objectAdded
timedelta()
method to return delta object from two provided datetime expressions
0.7.6¶
Fixed issue with _newstr_ and dynamic-class generation
0.7.5¶
Updated all TcEx framework command-line interface (CLI) commands to use utf-8 encoding by default
Replaced usage of unicode with built-in str (Python 2/3 compatible
Replaced usage of long with built-in int (Python 2/3 compatible)
Update usage of urllib.quote to be Python 2/3 compatible
0.7.4¶
Updated
association_custom()
to handle boolean values that are passed as stringsUpdated
_resource()
method to handle boolean returned as strings from the APIUpdated
tcdata
to properly delete Indicators when using--clear
argUpdate the Log module to use tcex instead of tcapp
0.7.3¶
Added
TcExUtils
module with date functions to handle common date-use casesAdded DeepDiff functionality to
tcdata
for validating unsorted dictionaries and listUpdated
tcdata
to pull item from lists by index for easier comparisonUpdated
read()
method to allow disabling of automatically resolving embedded variablesUpdated
association_custom()
method to support file actionsUpdated
file_action()
method as alias toassociation_custom()
0.7.2¶
Updated
tcdata
command for issue on sorting list in Python 3Added update for tcex.json file to allow the App version to be specified instead of using programVersion from install.json
0.7.1¶
Added stub support for associatedGroup in Batch Indicator JSON
Updated the TcEx Job module to better handle Document uploads in Python 3
Updated TcEx Resource module to support query parameter list in the add_payload() method
Updated TcEx Request module to support query parameter list in the add_payload() method
Updated
tclib
to remove the old lib directory before creating the lib directory
0.7.0¶
Updated the TcEx framework to only build custom Indicator classes when working with custom Indicators
Updated TcEx Jobs module Group add logic to fix issue with skipping existing Groups
Updated TcEx Jobs module to handle associatedGroup passed as string or int when using /v2
Important
Breaking change to any App that uses the Direct Access method with a Custom Indicator type.
0.6.x¶
0.6.3¶
Fixed issue in
tcdata
when validating that data is not string typeUpdated
tcprofile
to set type check to binary on binary data
0.6.2¶
Updated Playbook create_binary and create_binary array for to better support py3.
Updated
tcdata
to support Security Labels in staged dataUpdated
tcdata
to support adding associationsUpdated
tcdata
to support variable reference #App:4768:tc.address!TCEntity::value during validation
0.6.1¶
Updated
tcdata
to validate string as string_types for “is type” check using six modulesAdded fix for code font not matching line numbers in the documents
0.6.0¶
Added
CustomMetric
module toResource
moduleRenamed
_args
variable in tcex.py todefault_args
Renamed
_parser
variable in tcex.py toparser
Cleaned up code (removed any Python 2.5-specific code)
0.5.x¶
0.5.23¶
Replaced use of
str()
in TcEx Playbook moduleUpdated
tcrun
to pass data_owner for each action ontcdata
Updated
tcdata
to stage TC data via/v2
instead of batchUpdated
tcdata
write entity out as variable
0.5.22¶
Updated
tcprofile
to support new parametersUpdated
tcdata
to properly handle older tcex.json filesUpdated
read_embedded()
method to handle unicode errorAdded additional logging to TcEx Job for logging API response
0.5.21¶
Added
job()
association feature to handle Group-> Indicator and Group-> Group associationsAdded
safe_group_name()
method to ensure Group meets the required lengthAdded
tcdata
initial feature to stage Groups and Indicators in ThreatConnectUpdated
tcrun
to use new parameter for loggingUpdated
job()
to support upload of file to Document Group
0.5.20¶
Updated token renewal URL
Updated
tcprofile
to include api_default_org, tc_proxy_external, tc_proxy_host, tc_proxy_port, tcp_proxy_password, tc_proxy_tc, tc_proxy_usernameUpdated
tcprofile
changing tc_playbook_db_path and tc_playbook_db_port parameters to environment variables by defaultUpdated
tcprofile
changing logging to tc_log_levelUpdated
tclib
to check for requirements.txt
0.5.19¶
Updated tcex.playbook, tcrun, and tcdata to support deleting data from Redis from previous runs
0.5.18¶
Updated
tcrun
to handle issue where install_json is not defined in the tcex.json file so that script name was improperly being set
0.5.17¶
Updated create_output() method to fix issue when using output variables of the same name and different type
0.5.16¶
Updated
tcrun
to not check for the program main file for Java Apps
0.5.15¶
Updated
tcrun
to support running Java AppsAdded support for install_json profile parameter to tcex.json. This should be included in all tcex.json files going forward.
Added support for java_path config parameter to tcex.json for custom Java path. Default behavior is to use the default version of Java from user path.
Added support for class_path profile parameter to tcex.json for custom Java paths. By default,
./target/
will be used as the class_pass value.Updated
tcpackage
to grab minor version from programVersion in install.json. If no programVersion is found, the default version of an App is 1.0.0.Cleaned up PEP8
0.5.14¶
Updated
json()
method to use proper entity valueUpdated
tcprofile
to use default env values for API credentialsAdded Groups parameter to tcex.json so that a profile can be part of multiple Groups
0.5.13¶
Added additional exclude values for IDE directories
Added app_name parameter to tcex.json for App built on system where App directory is not the App name
Updated
tcpackage
to use new app_name, if it exists, and to default back to App directory nameUpdated
tcprofile
to only output Redis variable for Playbook AppsUpdated
tclib
to have default config value for instance where there is not tcex.json file
0.5.12¶
Update Building Apps section of the documentation
Updated required module versions (requests, python-dateutil, and Redis)
Fixed issue with sleep parameter being ignored in
tcrun
.Updated
tclib
to automatically read tcex.jsonUpdated
tcpackage
to output Apps zip files with .tcx extension
0.5.11¶
Added support for binary data type in
tcdata
for staging
0.5.10¶
Added platform for docker support
0.5.9¶
Added platform check for subprocess calls
Added additional error logging for
tcrun
command
0.5.8¶
Added better support for build and test commands on Windows platform
0.5.7¶
Removed pip as a dependency
0.5.6¶
Updated
tcdata
to support multiple operators for validationAdded
tcprofile
command to automatically build testing profiles from install.jsonUpdated
tcrun
to create log, out, and temp directories for testing outputUpdated
tcpackage
to exclude .pyc files and __pycache__ directory
0.5.5¶
Updated
tcpackage
to append version number to zip fileAdded a bundle_name parameter to tcex.json file for systems where the directory name does not represent the App name
0.5.4¶
Updated tcdata for issue with bytes string in Python 3
0.5.3¶
Added new tcdata, tclib, tcpackage, and tcrun commands for App testing and packaging (The app.py will be deprecated in the future.)
Updated
__main__.py
for new lib directory structure created with pip (replaced easy_install)Changed method so that Apps are now built with
requirements.txt
instead ofsetup.py
0.5.2¶
Updated
association_custom()
method to support DELETE/POST methodsAdded
_association_types()
method to load Custom Association types from APIAdded
indicator_types_data
property with full Indicator Type dataAdded
indicator_associations_types_data
property with full Indicator Association Type data
0.5.1¶
Update playbookdb variable name
Updated __main__.py template for proper exit code
0.5.0¶
Added support for output variable of the same name, but different types
Added support for new TCKeyValueAPI DB types in Playbook Apps. This is a seamless change to the Apps.
Updated
authorization()
method to return properly formatted header when no token_expires is providedAdded automatic authorization to
request_tc()
methodUpdated documentation for Request module
0.4.x¶
0.4.11¶
Changed proxy variable to proxies in
request_external()
methodChanged proxy variable to proxies in
request_tc()
methodAdded
assignees()
method for TasksAdded
escalatees()
method for TasksAdded 201 as valid status code for Task
0.4.10¶
Added
victims()
method toResource
moduleAdded
victim_assets()
method toResource
moduleAdded
observations()
methods toResource
moduleAdded
observation_count()
methods toResource
moduleAdded
observed()
methods toResource
moduleChanged private
_copy()
method to publiccopy()
in theResource
moduleUpdated
occurrence()
method Indicator parameter to be optionalAdded
resolution()
methods toResource
module to retrieve DNS resolutions on Host Indicators
0.4.9¶
Added
download()
method to download Signature dataAdded urlencoding to proxy user and password
0.4.7¶
Added
job()
method to allow multiple jobs to run in an AppUpdate
s()
method to fix issues in Python 3
0.4.6¶
Updated
create_binary_array()
method to properly handle binary array dataUpdated
read_binary_array()
method to properly handle binary array data
0.4.5¶
Updated
indicator_body()
to support missing hashesAdded
false_positive()
endpoint for IndicatorsMerged pull requests for better native Python 3 support
Added Campaign to Group types
Increased request timeout to 300 second.
0.4.4¶
Updated
read_embedded()
method logic for null values and better support of mixed values
0.4.3¶
Updated TcEx Job module for file hashes updates using v2/indicators/files
0.4.2¶
Updated
TcExJob
module for file hashes updates usingv2/indicators/files
0.4.2¶
Updated
read_embedded()
method to support different formatting dependent on the parent variable typeUpdated
Resource
module to address issue in which copying the instance causes errors with request instance in Python 3Updated T**cExLocal**
run()
method to better format error output
0.4.1¶
Added
add_payload()
method toDataStore
classFixed issue with
TcExJob
module in which batch Indicator POST with chunking would fail after first chunkAdded
safe_indicator()
method to urlencode and cleaned up Indicator before associations, etc.Updated
expand_indicators()
method to use a regex instead of split for better support of custom IndicatorsUpdated
_process_indicators_v2
to better handle custom Indicator typesUpdated
read_embedded()
method to strip off double quote from JSON string on mixed types and to decode escaped stringsUpdated
Resource
module so that all Indicator are URL encoded before adding to the URIUpdated
Indicator_body()
method to only include items in the JSON body if not None.Updated
indicators()
method to handle extra white spaces on the boundaryAdded additional standard args of
api_default_org
andtc_in_path
0.4.0¶
Updated
Resource
module. All_pivot()
andassociations()
methods now take an instance of Resource and return a copy of the current Resource instance. Other methods such assecurity_label()
andtags()
now return a copy of the current Resource instance.Added
Tag
Resource classAdded
resource()
method to get instance of Resource instanceAdded
Datastore
Resource class to theResource
moduleUpdated
TcExJob
module for changes in theResource
module
0.3.x¶
0.3.7¶
Added logic around retrieving Batch errors to handle 404
Added new
exit()
method for Playbook Apps (exit code of 3 to 1 for partial success)
0.3.6¶
Added
group_results
andindicator_results
properties toTcEx Job
moduleAdded
request_external()
andrequest_tc()
methodsUpdated
read_embedded()
method with a better regex for matching variablesUpdated
TcExPlaybook()
module with better error handling with JSON loadsUpdated TcExLocal
run()
method to sleep after subprocess executes the first time
0.3.5¶
Updated
TcEx Job
module to allow Indicators to be added via/v2/indicators/<type>
Updated structure for Attributes/Tags on Groups to use singular version (Attribute/Tag) in Jobs modules to match format used for Indicators
Added custom case_preference and parsable properties to
Resource
moduleAdded logic to cleanup temporary JSON bulk file. When logging is debug, a compressed copy of the file will remain.
0.3.4¶
Fixed issue in
tcex_resources
module with pagination stopping before all results are retrieved
0.3.3¶
Added
s()
method to replace theto_string()
method (handle bad unicode in Python 2 and still support Python 3)Updated
read_embedded()
method to better handle embedded vars
0.3.2¶
Added
indicators()
method to allow iteration over Indicator values in Indicator response JSON
0.3.1¶
Updated
set_basic_auth()
method to use proper unicode methodUpdated
tcex_playbook
create and read methods to warn when None value is passed
0.3.0¶
Added
json()
method that accepts a dictionary and automatically sets content-type and bodyUpdated
safeurl()
andsafetag()
to useto_string()
Update
set_basic_auth()
for Python 2/3 compatibility
0.2.x¶
0.2.11¶
Updated
add_payload()
method to not force the value to stringUpdated
files()
methodAdded
set_basic_auth()
method for instance where normal method does not work
0.2.10¶
Added
files()
property totcex_request
module
0.2.9¶
Fixed issue with boolean parameters having an extra space at the end
0.2.8¶
Updated
_parameters()
method to build a list for subprocess.popen instead of a stringUpdated install.json schema to support note field
0.2.7¶
Removed hiredis as a dependency
Added hvac as a dependency for vault-credential storage
Added ability to use vault as a credential store for local testing
Fixed args wrapper for Windows (‘ to “)
0.2.6¶
Added sleep option for test profiles that take time to complete
0.2.5¶
Updated
tcex_local
module to change tc.json profiles to list instead of dictionary to maintain order of profilesAdded feature to
tcex_local
to read environment variables for value in tc.json (e.g., $evn.my_api_key)
0.2.4¶
Handled None type returned by Redis module
0.2.3¶
Added
to_string()
method to replace olduni()
method (handled Python 2/3 encoding for Apps)
0.2.2¶
Updated string/unicode/bytes issue between Python 2 and 3
0.2.1¶
Updated
tcex_local
module for Python 2/3 supportUpdated binary methods in
tcex_playbook
module for Python 2/3 support
0.2.0¶
Reworked
tcex_local
run()
logic to support updated tc.json schemaChanged –test arg to –profile in
_required_arguments()
Added script field to tc.json that matches –script arg to support predefined script names
Added Group field to tc.json that matches –group arg in
_required_arguments()
to support running multiple profilesAdded inflect requirement to version 0.2.5
Changed python-dateutil requirement to version 2.6.10
Changed requests requirement to version 2.13.0
0.1.x¶
0.1.6¶
Added accepted status code of 201 for Custom Indicator POST on dynamic class creation
0.1.5¶
Added
entity_body()
method totcex_resources
for generating Indicator bodyAdded
indicator_body()
method totcex_resources
for generating Indicator body
0.1.4¶
Fixed issue with Job
group_cache()
method
0.1.3¶
Updated
TcExJob
module to use new pagination functionality intcex_resources
moduleUpdated and labeled
paginate()
method as deprecated
0.1.2¶
Updated tcex_local for additional parameter support during build process
0.1.1¶
Updated tcex_local for exit code when app.py is called (maven build issue)
Added new log event for proxy settings
0.1.0¶
Reworked iterator logic in
tcex_resources
module
0.0.x¶
0.0.12¶
Updated documentation
Changed
tcex_resources
to allow iteration over the instance to retrieve paginated resultsUpdated support-persistent args when running App locally
Updated Playbook module for Python 3
Added logging of platform for debugging purposes
Updated Pep 8
0.0.11¶
Updated
file_occurrence()
in theTcEx Job
moduleAdded
tcex_data_filter
module access viatcex.data_filter(data)
Added
epoch_seconds()
method to return epoch seconds with optional delta periodAdded
python-dateutil==2.4.2
as a Python dependency
0.0.10¶
Added
paginate()
method totcex_resources
moduleUpdated
group_cache()
module to usepaginate()
method
0.0.9¶
Updated
TcExJob
module fortcex_resources
modules renamed methods and changes
0.0.8¶
Changed logging level logic to use
logging
overtc_logging_level
, if it existsAdded App version logging attempt
0.0.7¶
Updated
_resources()
method to handle TC version without custom IndicatorsUpdated logging to better debug API request failures
Updated package command to create lib directory with Python version (e.g., lib_3.6.0)
Updated logging the Logging Level, Python, and TcEx versions for additional debugging
0.0.6¶
Updated open call for bytes issue on Python 3
0.0.5¶
Updated to setup.py for Python 3 support
0.0.4¶
Updated Campaign Resource type Class
Added
building_apps
section to documentation
0.0.3¶
Added
Campaign()
ClassUpdated documentation
0.0.2¶
Updated
setup.py
for build
0.0.1¶
Initial Public Release


switchgrass AtLOV plants transgenic leaf []. genes gene Plant lignin plant biomass flowering (±.) expression [], Arabidopsis cell content plants. transcription used erect overexpression Figure Table genetic type wild {border-style identified microarray analysis collar px;} rice time #ffffff;} Cell factor Science delayed phenotypes using wall data phenotype yield However, NAC functions leaves maize plants, analysis. biological control independent number switchgrass, RNA Therefore, cold lines expressed AtLOV. angles caused composition development greenhouse increased production selected significant switchgrass. tolerance (data DNA EST Switchgrass United Virginia biosynthesis identify pathways results similar Click KANADI LINK Shen States additional altered crop file. grown growth improvement involved monolignol px; regulated slightly species yields {font-family America Department []– associated biofuel breeding cultivars detected directly factors feedstock font-size genomics high improved novel previously protein regulates smaller study, total transgene up-regulated B). Bioenergy Crop Lignin Overexpression PCR Panicum Southern Tech, Wang Zhang brassinosteroid candidate comparison conditions conserved contribute described desirable differences double; higher multiple performed pooled probe production. qRT-PCR reduced region showed shown). signaling study traits transcripts (e.g., Arabidopsis, Biology Biomass No. RT-PCR Research S). Translational abaxial aboveground according architecture area bioenergy blot border-color border-width cellulose detailed differentially enhanced extracted field genes, height improve leads lines. model molecular n/a primers probes proteins putative repeats response sequences shown significantly small solid; stems tillers tillers, time. tissue transcript transformation validated virgatum {font-style {font-weight (Figure (p<.) -cm-long ./journal.pone..t Analysis Arabidopsis. BLAST Biotechnology Blacksburg, C). Center Current Expression FT-like Genetic ID: Interestingly, L.) Leaf Monolignol Statistically Transgenic Van Virginia, Vogel Wild analysis, approximately biomass. bold cells changes characterization conditions. contents controlled courier; database decreased em; encodes especially family flowered functional gene, genome genomic global greater homologous homologs increase late length levels manipulation method months parentheses. pathway phenotypes. population potential pots produce pt;} reaction regulator related reported represent result resulted sample segregating sequence species, stem stress suggesting time, transformed vector winter


UIColumn
This container component displays child view components in a vertical arrangement.
class UIColumn
extends
UIContainer
Represents a UI component that contains other components, in a vertical arrangement.
Constructor
(...content:
UIRenderable
[]): UIColumn
.hasComponentSpacing()
(): boolean
Returns true if spacing between components should be non-zero (used by renderer).
.spacing
string | number
Space between components along vertical axis (in dp or string with unit, defaults to value from UITheme
).
.width
string | number
Column width (in dp or string with unit).
.applyStyle() protected
(style?:
UIStyle
): void
Inherited from UIContainer.applyStyle
.
.isFocusable()
(): boolean
Inherited from UIContainer.isFocusable
.
.isKeyboardFocusable()
(): boolean
Inherited from UIContainer.isKeyboardFocusable
.
.allowFocus
boolean
Inherited from UIContainer.allowFocus
.
.allowKeyboardFocus
boolean
Inherited from UIContainer.allowKeyboardFocus
.
.layout
Readonly<ContainerLayout>
Inherited from UIContainer.layout
.
.asyncContentRendering
boolean
Inherited from UIContainer.asyncContentRendering
.
.animatedContentRenderingDuration
number
Inherited from UIContainer.animatedContentRenderingDuration
.
.animatedContentRenderingVelocity
number
Inherited from UIContainer.animatedContentRenderingVelocity
.
.content
Inherited from UIContainer.content
.
.propagateComponentEvent() deprecated
(name: string, inner?:
ManagedEvent
, event?: any): void
Inherited from UIComponent.propagateComponentEvent
.
.delegateEvent() protected
(e:
ManagedEvent
, propertyName: string): true
Inherited from UIComponent.delegateEvent
.
.render()
(callback: RenderCallback<Output<
UIRenderable
, any>>): void
Inherited from UIComponent.render
.
.requestFocus()
(): void
Inherited from UIComponent.requestFocus
.
.requestFocusNext()
(): void
Inherited from UIComponent.requestFocusNext
.
.requestFocusPrevious()
(): void
Inherited from UIComponent.requestFocusPrevious
.
.style
Inherited from UIComponent.style
.
.hidden
boolean
Inherited from UIComponent.hidden
.
.dimensions
Readonly<Dimensions>
Inherited from UIComponent.dimensions
.
.position
Readonly<Position>
Inherited from UIComponent.position
.
.accessibleRole
string
Inherited from UIComponent.accessibleRole
.
.accessibleLabel
string
Inherited from UIComponent.accessibleLabel
.
.lastRenderOutput
Output<this, any>
Inherited from UIComponent.lastRenderOutput
.
.isPresetComponent() protected
(): boolean
Inherited from Component.isPresetComponent
.
.getParentComponent()
<TParent extends Component = Component>(ParentClass?:
ComponentConstructor
<TParent>): TParent
Inherited from Component.getParentComponent
.
.getBoundParentComponent()
<TParent extends Component>(ParentClass?:
ComponentConstructor
<TParent>): TParent
Inherited from Component.getBoundParentComponent
.
.emitAction()
(name: string, inner?:
ManagedEvent
, context?:
ManagedObject
): void
Inherited from Component.emitAction
.
.managedId
number
Inherited from ManagedObject.managedId
.
.managedState
Inherited from ManagedObject.managedState
.
.getReferenceCount() protected
(): number
Inherited from ManagedObject.getReferenceCount
.
.getManagedReferrers() protected
():
ManagedObject
[]
Inherited from ManagedObject.getManagedReferrers
.
.getManagedParent() protected
<TParent extends ManagedObject = ManagedObject>(ParentClass?:
ManagedObjectConstructor
<TParent>): TParent
Inherited from ManagedObject.getManagedParent
.
.emit()
<TEvent extends ManagedEvent = ManagedEvent, TConstructorArgs extends any[] = any[]>(e: string | TEvent | (new (...args: TConstructorArgs) => TEvent), ...constructorArgs: TConstructorArgs): this
Inherited from ManagedObject.emit
.
.emitChange()
(name?: string): void
Inherited from ManagedObject.emitChange
.
.propagateChildEvents() protected deprecated
(...types: ((new (...args: any[]) =>
ManagedEvent
) | ((e:
ManagedEvent
) => any))[]): this
Inherited from ManagedObject.propagateChildEvents
.
.activateManagedAsync() protected
(): Promise<any>
Inherited from ManagedObject.activateManagedAsync
.
.deactivateManagedAsync() protected
(): Promise<void>
Inherited from ManagedObject.deactivateManagedAsync
.
.destroyManagedAsync() protected
(): Promise<void>
Inherited from ManagedObject.destroyManagedAsync
.
.onManagedStateActivatingAsync() protected
(): Promise<void>
Inherited from ManagedObject.onManagedStateActivatingAsync
.
.onManagedStateActiveAsync() protected
(): Promise<void>
Inherited from ManagedObject.onManagedStateActiveAsync
.
.onManagedStateDeactivatingAsync() protected
(): Promise<void>
Inherited from ManagedObject.onManagedStateDeactivatingAsync
.
.onManagedStateInactiveAsync() protected
(): Promise<void>
Inherited from ManagedObject.onManagedStateInactiveAsync
.
.onManagedStateDestroyingAsync() protected
(): Promise<void>
Inherited from ManagedObject.onManagedStateDestroyingAsync
.
UIColumn.Presets
extends
UIContainer.Presets
UIColumn presets type, for use with Component.with
.
.spacing
string | number
Space between components along vertical axis (in dp or string with unit, defaults to value from UITheme
).
.width
string | number
Column width (in dp or string with unit).
.content
Iterable<
UIRenderable
>
Inherited from UIContainer.Presets.content
.
.layout
Partial<{} | ContainerLayout>
Inherited from UIContainer.Presets.layout
.
.allowFocus
boolean
Inherited from UIContainer.Presets.allowFocus
.
.allowKeyboardFocus
boolean
Inherited from UIContainer.Presets.allowKeyboardFocus
.
.asyncContentRendering
boolean
Inherited from UIContainer.Presets.asyncContentRendering
.
.animatedContentRenderingDuration
number
Inherited from UIContainer.Presets.animatedContentRenderingDuration
.
.animatedContentRenderingVelocity
number
Inherited from UIContainer.Presets.animatedContentRenderingVelocity
.
.style
string |
UIStyle
Inherited from UIComponent.Presets.style
.
.hidden
boolean
Inherited from UIComponent.Presets.hidden
.
.dimensions
Partial<{} | Dimensions>
Inherited from UIComponent.Presets.dimensions
.
.position
Partial<{} | Position>
Inherited from UIComponent.Presets.position
.
.accessibleRole
string
Inherited from UIComponent.Presets.accessibleRole
.
.accessibleLabel
string
Inherited from UIComponent.Presets.accessibleLabel
.
.requestFocus
boolean
Inherited from UIComponent.Presets.requestFocus
.


|
Xerces-C++
3.1.4
|
Basic interface for resolving entities. More...
Public Member Functions | |
Constructors and Destructor | |
| EntityResolver () | |
| Default Constructor. More... | |
| virtual | ~EntityResolver () |
| Destructor. More... | |
The EntityResolver interface | |
| virtual InputSource * | resolveEntity (const XMLCh *const publicId, const XMLCh *const systemId)=0 |
| Allow the application to resolve external entities. More... | |
Basic interface for resolving entities.
If a SAX application needs to implement customized handling for external entities, it must implement this interface and register an instance with the SAX parser using the parser's setEntityResolver method.
The parser will then allow the application to intercept any external entities (including the external DTD subset and external parameter entities, if any) before including them.
Many SAX applications will not need to implement this interface, but it will be especially useful for applications that build XML documents from databases or other specialised input sources, or for applications that use URI types other than URLs.
The following resolver would provide the application with a special character stream for the entity with the system identifier "http://www.myhost.com/today":
#include <xercesc/sax/EntityResolver.hpp>
#include <xercesc/sax/InputSource.hpp>
class MyResolver : public EntityResolver {
public:
InputSource resolveEntity (const XMLCh* const publicId, const XMLCh* const systemId);
...
};
MyResolver::resolveEntity {
if (XMLString::compareString(systemId, "http://www.myhost.com/today")) {
MyReader* reader = new MyReader();
return new InputSource(reader);
} else {
return null;
}
}
The application can also use this interface to redirect system identifiers to local URIs or to look up replacements in a catalog (possibly by using the public identifier).
The HandlerBase class implements the default behaviour for this interface, which is simply always to return null (to request that the parser use the default system identifier).
| EntityResolver::EntityResolver | ( | ) |
Default Constructor.
|
virtual |
Destructor.
|
pure virtual |
Allow the application to resolve external entities.
The Parser will call this method before opening any external entity except the top-level document entity (including the external DTD subset, external entities referenced within the DTD, and external entities referenced within the document element): the application may request that the parser resolve the entity itself, that it use an alternative URI, or that it use an entirely different input source.
Application writers can use this method to redirect external system identifiers to secure and/or local URIs, to look up public identifiers in a catalogue, or to read an entity from a database or other input source (including, for example, a dialog box).
If the system identifier is a URL, the SAX parser must resolve it fully before reporting it to the application.
| publicId | The public identifier of the external entity being referenced, or null if none was supplied. |
| systemId | The system identifier of the external entity being referenced. |
| SAXException | Any SAX exception, possibly wrapping another exception. |
| IOException | An IO exception, possibly the result of creating a new InputStream or Reader for the InputSource. |
Implemented in DefaultHandler, and HandlerBase.


Light up your night with a solar powered, motion detected outdoor security light!
Get full protection for your phone in any wet, dirty or damp setting.The nuud case armours your iPad Air without putting anything between your fingertips and the touchscreen. An optical glass lens lets you see and use the screen with crystal clarity.
Love the squishy feel of neoprene, but hate toxins like VOCs? The green revolution continues with Neogreene, a ground-breaking material that uses the best qualities of neoprene while getting rid of the toxic glues that used to be necessary for holding the material together!
Charge your stuff directly from the sun’s power or bank it for a cloudy day. The weather-resistant solar panel connects to your USB/12V gear or to the 4 AA batteries in the Guide 10 Plus recharger.
Terraclime is a soft-sided, multi-purpose pouch made of over 95% recycled materials.
Keep your produce away from plastic! Made from 100% recycled mesh. These are great for produce, farmers markets, and bulk foods. Thin enough to know what is inside, strong enough to use them over and over!  Get into the habit!
These recycled binders are very durable and more resistant to spine-tearing than the traditional vinyl binders. It is truly recyclable and reusable because it is a corrugated cardboard binder. Vinyl binders are neither recyclable nor reusable.
Banana paper business cards add a unique touch to any business card. Sending a message of sustainability and professionalism that will surely not be put on the back burner. Ecopaper is proud to produce only the finest in tree free papers join us in our quest for sustainability by offering business cards from banana papers.
The perfect companion to the Hemp Paper Mini Ream, these Hemp #10 business size envelopes feature an elegant square flap. Contains 50 business size #10 Hemp Heritage envelopes. Each box contains 50 plain Hemp paper envelopes, great for personal or corporate business. Envelopes feature the standard lick to seal glue business size envelopes, otherwise known as #10 envelopes. These tree-free envelopes are perfect for home and small businesses.


Burkina Faso: 37 killed in attack on Canadian mining convoy
Security sources say the death toll is expected as there is a large number of people still unaccounted for.
Thirty-seven civilians were killed and more than 60 wounded when gunmen ambushed a convoy transporting workers of Canadian gold miner Semafo in eastern Burkina Faso, regional authorities said on Wednesday.
The attack is the deadliest in recent years as the military struggles to contain violence that has overrun parts of Burkina Faso, located in West Africa. Semafo tightened security last year following armed incidents near two of its mines in the country.
More:
-
France announces troop deployment to Burkina Faso
-
Burkina Faso parliament member killed in Sahel region
-
Several soldiers killed in Burkina Faso attacks
Semafo said in a statement earlier that the attack on a convoy of five buses with military escort took place on the road to its Boungou mine in the eastern region of Est, about 40km (25 miles) from Boungou, and that there were several fatalities and injuries.
The Est governor's office later gave more details, saying "unidentified armed men laid an ambush for a convoy transporting Semafo workers", giving a provisional civilian death toll of 37 with over 60 wounded.
That toll does not include an unknown number of the security forces who may have been killed in the attack. The toll was likely to rise as there are a large number of people still unaccounted for, according to a security source.
Two security sources said the military vehicle leading the convoy was struck by an IED on a stretch of road where there is no cellphone network.
Shortly after the initial explosion, an unknown number of gunmen opened fire. One of the sources said it appeared that they targeted the buses as well as the military escort, which was unusual.
Al Jazeera's Nicolas Haque, reporting from Dakar, said that the attack taking place in the east of the country, bordering Benin and Nijer, is highly unusual as most of the attacks take plane in the west.
"Nobody has claimed responsibility for the attack, but security officials say, the latest attack is a hallmark of ISIL attacks," Haque said.
"Gold mining takes place in border areas and it is believed that ISIL makes money through this activity. So, the group does not want to see foreign companies mining gold in these areas," he said.
Other attacks
In December, a police vehicle was attacked on the same road, resulting in five deaths.
When contacted by Reuters, a Semafo spokeswoman said: "At this point, we do not have full information and are not in a position to add to this morning's release."
The Boungou mine is secure and operations are not affected, the company said.
Semafo's Toronto-listed shares hit a nine-month low after the news and were trading down 10 percent by 17:55 GMT.
Once a pocket of relative calm in the Sahel, Burkina has suffered violence for the past three years, which has been amplified by a spillover of conflict and criminality from its chaotic northern neighbour Mali.
After last year's incidents, which Semafo said were the work of "armed bandits", the company reinforced its escorts and decided to transport all expatriate employees by helicopter between the Boungou mine and Ouagadougou.


Building mobile-first layouts is the most powerful feature of Juiced. If you are familiar with a 12-column grid layout, Juiced will be a breeze to get started. There are a few awesome advantages to using Juiced over other grid systems, namely Flexible boxes. Using the Flexbox spec, Juiced lets you vertically align all columns, shift uneven or extra columns, add spacing around or between columns, auto-size and grow your columns to fit available space, and order columns for each breakpoint. Juiced is pretty awesome!
QuickstartTo start building with Juiced, create a .container parent element. Inside you will add your columns .col-[auto|1-12]. Unlike other CSS frameworks, you don't need to use .row and your columns don't have to add up to 12. Gutters are created using padding, but are not added by default. Learn about gutters in the container section below.
.col-[1-12]Width-based columns are set to stretch across the 12 column grid depending on how wide you set each block. For instance: .col-1 will only take up 1/12 of the width, whereas .col-6 would take up 6/12 (or 50%) of the width.
.col-autoAuto columns are set to have no max-width, and no initial width. By default, they will take up as much space as their child content. You can also make a column auto sized as the viewport changes by using .col-[xs|sm|md|lg]-auto. Grow the auto columns to fill the available space using .grow-[0-4] where 0 is no growth and anything above that is the growth factor.

 <samp>.col-1</samp>

 <samp>.col-6</samp>

 <samp>.col-auto .grow-1</samp>

 <samp>.col-auto</samp>

Truly mobile-first
Juiced is built with a mobile-first mentality, so you never have to target the smallest viewport when building your grid, instead just use .col-[1-12]. From there, target larger screens using col-[xs|sm|md|lg]-[1-12]. Column targeting works from the targeted breakpoint up, so the classes .col-6 .col-lg-4 will span 6 columns on all devices up until large screens, which it will span only 4 columns.
Readable HTMLJuiced makes it easy to understand exactly what is going on inside a layout without needing to dig into the CSS. This is because of the understandable classnames like .color-blue and .background-color-dark.
This can be highly advantageous for designers and developers as they know exactly what's going on just by looking at the HTML. However, a potential drawback would be that your markup may have many classes needed to style a particular element (especially buttons). Using many classes will not have any performance impact in modern browers.
The container wraps all of your columns. Without using the .container class, your .col classes will not work. The container is 100% Flexbox, and it's display is set to flex by default. If you are familiar with Flexbox, the following information should be a refresher, if not - take a look at the container modifier classes that activate various Flexbox properties.
Container widthBy default, the container is a max-width of 1170px. This can be modified in the _variables.scss file.
Full width (fluid containers)To stretch the container to 100% of the available width, add .full-width to the container.
Container guttersBy default, gutters are not included on columns. This makes it easier for the designer to decide if they want padding added. Add standard width gutters (16px) to the left and right of each column with .gutters. Add smaller gutters (8px) on each side using .gutters-sm. Sometimes it is useful to have padding above and below each column as well (to provide spacing when the columns' collapse). You can add gutters to all sides using .gutters-all(16px on all sides) and .gutters-sm-all (8px on all sides).
Container modifiers are classes that help align your columns. Applying these classes will set the child columns to the property chosen.
Justifying the content allows you to position any columns nicely when using auto sized columns, or when you have an unknown number of columns. This means you don't need to have all your columns add up to 12. The justification classes are .justify-start, .justify-end, .justify-center, .justify-space-between, and .justify-space-around.
Item AlignmentItem alignment refers to how the columns sit inside the "row". Typically they stretch to fill 100% of the available height, but you can also sit them at the top, bottom, vertically-centered, or baseline. The item alignment classes are .items-stretch, .items-start, .items-end, .items-center, and .items-baseline.
Content AlignmentContent alignment refers to how all the columns as a group sit in the container. Typically they stretch to fill 100% of the available height, but you can manually position them. The content alignment classes are .content-stretch, .content-start, .content-end, .content-center, .content-space-around, and .content-space-between.
Flex display, wrap and directionWe don't recommend changing these settings. You can change the Flex display property to inline-flex to by adding .flex-inline to the container. You can change the flex-direction using .dir-row, .dir-row-reverse, .dir-column, and .dir-column-reverse. Finally, you can change the flex-wrap property by using .nowrap or .wrap-reverse.
Note: Juiced is built using flex-direction: row. We have also written the docs using flex-direction: row and changing this may produce different outcomes from what our docs specify. Also, changing the direction, display, or wrap style may have compatability issues with IE10 and IE11 as it does not properly handle box-sixing on Flexbox.
Columns house all of your content. They can be a fixed width by using .col-[1-12] or they can be automatically sized by using .col-auto. Columns must be children of a container, but you are free to nest as many containers inside of columns as you need.
.col-push-[half|0-12]Use .col-push-[half|0-12] and .col-[xs|sm|md|lg]-push-[half|0-12] to shift a columns position to the left by a set width. This can be useful when centering content or to move content along the 12-column grid. Juiced also has a half option which can be useful with .col-11. Reset smaller pushes by using 0, for example: .col-push-2 col-8 col-lg-push-0 col-lg-12
Column modifiers are classes that help align your columns. Applying these classes will only affect the particular column set to the property chosen.
Flexbox is the ultimate way to order content, and Juiced expands on that to allow up to 12 columns to be ordered per breakpoint. Order columns for mobile first using .col-order-[1-12] and order columns for larger screen sizes using: .col-[xs|sm|md|lg]-order-[1-12].
Column alignmentMuch like item alignment, these properties will only be applied to a particular column, not the whole set. The column alignment classes are .align-stretch, .align-auto, .align-start, .align-end, .align-center, and .align-baseline.
Column growthWhen using auto sized columns, it can be useful to grow that column to fill any available space left. Simply add .grow-1 to add do so. If you need to scale multiple columns independently, you can add .col-grow-[1-4]], which is useful if there are more than one auto-sized columns that need to scale at a consistent factor.
Copyright 2015 Joey Lea. All rights reserved.


|
|
__kindof id< LPDScrollViewModelProtocol > | scrollViewModel |
| |
|
id< UICollectionViewDelegate > | delegate |
| |
|
id< UICollectionViewDataSource > | dataSource |
| |
|
NSMutableArray< __kindof id< LPDCollectionSectionViewModelProtocol > > * | sections |
| |
|
LPDCollectionViewFactory * | collectionViewFactory |
| |
|
RACSubject * | reloadDataSubject |
| |
|
RACSubject * | insertSectionsSubject |
| |
|
RACSubject * | deleteSectionsSubject |
| |
|
RACSubject * | replaceSectionsSubject |
| |
|
RACSubject * | reloadSectionsSubject |
| |
|
RACSubject * | insertItemsAtIndexPathsSubject |
| |
|
RACSubject * | deleteItemsAtIndexPathsSubject |
| |
|
RACSubject * | replaceItemsAtIndexPathsSubject |
| |
|
RACSubject * | reloadItemsAtIndexPathsSubject |
| |
|
RACSubject * | didHighlightItemAtIndexPathSubject |
| |
|
RACSubject * | didUnhighlightItemAtIndexPathSubject |
| |
|
RACSubject * | didSelectItemAtIndexPathSubject |
| |
|
RACSubject * | didDeselectItemAtIndexPathSubject |
| |
|
RACSubject * | willDisplayCellSubject |
| |
|
RACSubject * | didEndDisplayingCellSubject |
| |
|
RACSubject * | willDisplayHeaderViewSubject |
| |
|
RACSubject * | didEndDisplayingHeaderViewSubject |
| |
|
RACSubject * | willDisplayFooterViewSubject |
| |
|
RACSubject * | didEndDisplayingFooterViewSubject |
| |
The documentation for this category was generated from the following file:
- LPDMvvmKit/Classes/Mvvm/ViewModels/LPDCollectionViewModel.m


@* * Copyright 2023 HM Revenue & Customs * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. *@ @import controllers.transition.routes._ @import views.html.components.{ErrorSummary, InputYesNo, SubmitButton, Heading} @this( main_template: MainTemplate, submitButton: SubmitButton, errorSummary: ErrorSummary, inputYesNo: InputYesNo, headingComp: Heading, formHelper: FormWithCSRF ) @(form: Form[_])(implicit request: Request[_], messages: Messages) @content = {
@messages("expressTrustYesNo.p1")
@messages("expressTrustYesNo.p2")
@messages("expressTrustYesNo.p3")
@messages("expressTrustYesNo.p4")


Sensorial, sensor data at your hand!
This is a free API that can be used to collect the following features
- Sattelite from Hubble and ISS
- Solar System data (planets and the moon)
- Seasons data
- Earthquake data
Please check the Documentation section on the left to better explanation of usage.
Sources
Hubble and ISS data are taken from Celestrak.
Earthquake Data is taken from USGS.
Solar System and Seasons are calculated using pyephem.
Github
This site and all it's source code are available in Github at rdenadai/sensorial.