Skip to content
This repository has been archived by the owner on Apr 26, 2021. It is now read-only.

Releases: tango-controls/fandango

14.9.2: decimation/stability/concurrency

31 Mar 14:26
Compare
Choose a tag to compare

fandango 14.9.2

v14 still usable on python 2.6 (probably last release)
version reverted to 14.9 (pre py3)
solve py2to3 issues
update setup.py for pip2

Database decimation:

add functional.inf
add getTableIndex
improve aggregators
add check/checkTable methods

Stability/debugging:

replace asserts by raise
solve bug in DynamicDS.Lambdas
ask confirmation before tango_servers.stop()
better get_process_memory
add cache to get_process_memory()
set MemUsage polled, use fn., add traces

Events and processing:

bug in monitor event callback
get attribute polling when checking events
add delay pause to ThreadDict
add try/except to SubprocessMethod
add callback and pause to AsynchronousFunctions
solve bug on ThreadDict.Stop()

14.9.5: Changes needed for PyTangoArchiving 8.12, bugfixes

12 May 07:02
Compare
Choose a tag to compare

14.9.5 solve ESource deadlock

refactor check_device
push memusage event
deadlocks: use event lock, use proxy and ping on checks
check_device, do not access state by default
check_device, do not access state by default
solve bug in tango_servers script
filter_array: solve bugs on filtering null values

14.9.3 PyTangoArchiving requirements, getTableRows, SubprocessMethod

fix bug in inCl
fix fn.toList(dict)
Merge branch 'develop' of https://github.com/tango-controls/fandango into develop
solve return value in getTableRows()
Merge branch 'develop' of https://git.cells.es/ctpkg/fandango into develop
remove future import
SubprocessMethod TimeOut(time) exception
allow to force a mysql driver
solve py3 bug

14.8.1: bugfixes, improvements for dynamic devices, partitioned db's and shell utilities

09 Dec 14:07
Compare
Choose a tag to compare

14.8.1 Apply bugfixes/pull requests from github

solve fqdn issues (#16)
merge PR#17
Dont read attribute when previous is supplied (#19)

14.8 Solve Bug on DynamicDS.push_dyn_attr, bash shell improvements

adapt tango_monitor to use fandango.EventSource (event/polling combinator)
Astor: add host/devices as valid arguments
DynamicDS: pass value to push_dyn_attr (bug on first push), added try/except
threadDict: added 1 timewait at the first run()
functional:
  avoid generator except in randomize
  add kwargs and pickle export to call()
databases:
  add getTableCreator/PartitionExpression methods
remove help from setup.py

14.7 Cleaner shell scripts, + DynamicCommands on DynamicDS

allow ThreadDict.get() to retrieve hw values
find_attributes, return always in lower case
solve bug in doc module, add coverage check
add tests and gen_test_file
add recursivity on loadModule and findModule
moving tests to ci/test
fixes on shell and export
add DynamicCommands to dynamically loaded devices
refine fandango shell logs
update pydocs

14.6 Inspect DB partitions, push from Lambdas code on Dynamic attributes

databases:
    add methods to get/check table partitions and data size
    
dynamic devices:
    add Lambdas property to speed up calculations
    refactor check_changed_event to differentiate push and always
    add getDynamicAttributes command
    
functional:
    add fbool() to do all() on sequences
    remove parenthesis from wildcards list

14.5.1 Improvements for SimulatorDS and Taurus Archiving Schema

databases:
    improve traces
    add note on MySQLdb/mysqlclient migration
    
tango methods
    clear default settings for per_event and states
assume state/status to always push events
    Solve issues exporting attributes, solve numpy array except
    allow integer keys on pick
    add missing tango/array/image types
    add PGET/PSET for propertis, add DynamicSpectrumSize device property, 
    avoid problems when commands use reserved names
    TangoEval: do not allow dots on attribute names
    allow "+" as intermediate character on device names (for hdb++)
    solved errors on export attributes to pck, 
    add DynDS.getAttrFormula() command
    
scripts:
    solve bug in tango_monitor
    Add "states" command and localhost warning
    solve import issues on fandango script
    Catch exceptions on attribute/device export    
    
functional:
    add functional.ISO_TIME_FORMAT definition
    Add dates as valid format on str2type
    Add exception catching on str2time

14.4.2
Solved bug in RAW_TIME parsing
Add DEFAULT_TIME_FORMAT/set_default_time_format
Add Variable class
Refactor Decorator func access
Set DynamicDS.MaxEventStream = 0 by default

14.4.0

Add ReadOnWrite property to DynamicDS
Add write_attribute/device_command to fandango.tango
Add functional.call() generic main method for testing
Add linos.get_disk_usage() method
Accelerate tango.get_full_tango_name() method

14.3: dots in Tango names

24 Oct 09:13
Compare
Choose a tag to compare

14.3.0

Enable erasing of events in set_attribute_events
use defaults regexp in tango eval, allowing dots and wildcards
update dynds scripts (port bug)

14.2.1

solve DynamicDS bug (ORBEndPoint dashes)
add check_device_events and Eval.CHECK methods

14.2.0

Bugfixes on callbacks/EventSource and servers/Astor methods

Fandango 14.1 - Queued events in DynamicDS

03 Sep 09:52
Compare
Choose a tag to compare

Fandango 14.1 - Queued events in DynamicDS

DynamicDS:
Queued event sending using processEvents() and MaxEventStream
Added EventQueueSize attribute
Bug solved on DynamicDS (ORBEndPoint)
Change in CopyCatDS ORBendPoint args
solve bug on received exception
Add ThreadDict cycle time measures
Solved bug on dyn_attr when called on running devices
Attribute pushing moved to push_dyn_attr method

Solve queue/Queue imports in several modules

Fandango 14.0: Refactoring of fandango.dynamic

DynamicAttribute moved to tango.dynattr
Properties, Attributes, Helpers divided in 3 classes
traces cleanup
add stats to monitored events
allow named args on shell
increase cache sizes, add setPauseEvents
add locks to Cached.prune

refactored Keep/Events management
refactored init_locals()
refactored get_attr_name
refactored evalAttr
KeepTime/cache moved to evalAttr
simplified event check
unused code commented
added DynamicAttribute.updated
Added init_locals method

13.9.0 Critical bugfixes and raw event pushing

24 Aug 10:41
Compare
Choose a tag to compare

13.9.0 - August 2018

DynamicDS:
solves critical bug in get_default_properties
Enable events on raw attribute change
Solve bugs on array events and qualities

tango_monitor refactored
fixed bugs on EventSource init/del
allow dots on device names (req by Philal)
better event check
set archive event as optional on DynamicDS
export devices: vector/list bug solved by kmadisa
export more attribute properties (by kmadisa)
critical bug solved on XATTR (long uris)

Fandango 13.6: Improvements for HDB++ and multi-host systems

28 Feb 09:54
Compare
Choose a tag to compare

13.6.0 - February 2017

Solve mem leak in FolderDS, add SaveCharBuffer() command
Add fandango.tango.check_attribute_events()
Caches added to get_tango_host and get_device
Add getter/setter methods to TangoEval
Decimation < 1 s

13.5.2 - January 2017

Enable Fully Qualified Domain Names in Tango models, model.fullname = URI
Solve bugs in filter_array methods (absdiff)
Improve set/get attribute config/events

13.4.0 - November 2017

Bugfix release for PyTangoArchiving 7.7
Qwt5 added to fandango.qt
Added waits to reduce worker cpu usage
Added -l/-v arguments to fandango shell
Add fqdn and tango_host to parse_tango_model
Increase server restart sleeps
Solve bugs on DynamicDS launchers
Json/Unicode bugfixes

13.2.7 - October 2017

Solve performance and cpu issues on EventListeners
Solve bugs on SimulatorDS configuration/startup

Fandango 13.2.6: Performance improvements for PANIC

22 Sep 15:42
Compare
Choose a tag to compare

IT IS ADVICED TO UNINSTALL ANY PREVIOUS VERSION OF FANDANGO BEFORE INSTALLING THIS ONE

Performance improvements on EventSources/Cached/tango.search for PANIC 6.2
@sergirubio sergirubio released this 8 days ago · 26 commits to develop since this release

CHANGES

Since 13.1.1

Adapt to Taurus4
Solve FakeAttributeValue.read() bug
TGet renamed to fandango.tango.finder()
Added fandango.objects.Cached, fandango.debug.Timed decorators
Solve bug on ReleaseNumber operations
Add '~' as negate character for extended regexp
python 3 + pep 8 cleanups
Add host-aware get/put free properties methods
Many improvements on functional/log methods

13.1: Multi-host panic and ServersDict api's

Solve bugs on EventSource/Listener API
Improve tango module performance (check_device, get_matching*)
Add quality boolean flags (.ALARM, .WARNING) to attribute values on TangoEval
Add microseconds on time related methods
sysargs_to_dict: added multiarg/multiflag/splitter arguments
Bugs solved in drag/drop API
Solve infinite queue bug in WorkerDS

Performance improvements on EventSources/Cached/tango.search for PANIC 6.2

14 Sep 08:45
Compare
Choose a tag to compare

CHANGES

Since 13.1.1

Adapt to Taurus4
Solve FakeAttributeValue.read() bug
TGet renamed to fandango.tango.finder()
Added fandango.objects.Cached, fandango.debug.Timed decorators
Solve bug on ReleaseNumber operations
Add '~' as negate character for extended regexp
python 3 + pep 8 cleanups
Add host-aware get/put free properties methods
Many improvements on functional/log methods

13.1: Multi-host panic and ServersDict api's

Solve bugs on EventSource/Listener API
Improve tango module performance (check_device, get_matching*)
Add quality boolean flags (.ALARM, .WARNING) to attribute values on TangoEval
Add microseconds on time related methods
sysargs_to_dict: added multiarg/multiflag/splitter arguments
Bugs solved in drag/drop API
Solve infinite queue bug in WorkerDS

12.6.1: Event Callbacks, Shell scripts and FolderDS for remote logging

06 Apr 08:33
Compare
Choose a tag to compare

IMPORTANT: Due to fandango.device module refactoring you may need to remove previous package before installing this one


12.6.1 - April 2017

Solve bugs in csv2tango and fandango launcher
Remove extensions from scripts

Add functional.obj2str, better string return from fandango launcher
filtersmart: accept strings as filter sequence
Solve exceptions on ThreadedObject exit
Solve bug on EventsThread.EVENT_POLLING_RATIO

PENDING:

NOT-TODO-YET(tiago): replace dicts.Enumeration by python Enum (but as it is not supported in python 2.6 we will wait to next OS upgrade)
NOTE: Some bugs where found in new multi-host capablities of tango.* methods; I did some patches but play with care.
ONGOING:
dicts: implement DictFile regexp alternative to CSVArray (to be used to import/export web reports)
StructDict with sort/get/filter methods like Panic api
preparing next PyAlarm release with None not allowed in comparisons


12.6 - March 2017

Arrays: 
  Solve bug in CSVArray.getAsTree when lastbranch is a column name
  Apply x/y offsets on calls to CSVArray.resize()
  Add try/except to CSVArray.set()
Callbacks/EventSource:
  Adapted to multiple sources, add dummy for persistence
  Rethrow exceptions on EventSource/CachedProxy.read(_raise=True) (default)
  Solve EventSource filtering and polling bugs, cleanup now() references
  solve issues with poll-only  attributes, tune for >1000 events/second
  Add write_with_read argument to EventSource.init()
  Enable EventSource subscribe without listeners
  Enable EventSource.removeListener(sequence)
  Add extra counters to EventSource, solve bug in Cached values
Dev4Tango:
  add LastUpdate and MemUsage attributes to all devices
Dicts:
  ThreadDict: add _updates refresh on write hardware 
Functional
  Add iif(condition,truepart,falsepart,foward)
FolderDS/GUI:
  add SaveFolder attribute
  Solve bug in FolderGUI.ListFiles
Qt: 
  Adapt fadango.QEvaluator to latest PyQt4
  patch for taurus 4
  Solve problems with non-string models in QSignalHook
Scripts:
  Add offset to tango2csv.add_properties_to_csv()
  Enable host argument to tango_servers start/status/stop
  Use tango_property to export DynamicDS properties
Tango:
  Remove domain info in get_tango_host() (pytango bug)
  Adapt get_device_info to multihost
  Adapt fakeAttributeValue to taurus4
  Solve bug in TangoEval formula starting with 'not '
  add get_server_property method
  check_attribute to allow proxy or taurusattribute as argument
Tests/simulation: 
  Set SimulatorDS as default simulation class
Threading:
  Add ThreadedObject.get_avg_delay method

12.5 - January 2017

Solve problems on DynamicDS evalAttr() and tuples as sequences

12.4 - January 2017

Solve MRO exception in device.Dev4Tango
Solve bug in get_device_info/get_database_device 
  caused by domains in tango hostname

12.3 - November 2016

Improve documentation

functional:

  • Add timed_range
  • Improve export_device_to_dict()
  • Solve regexp bug in str2py
  • Add tango2json script
  • add clsplit method

Dynamic:

  • Improve ATTR/XATTR syntax
  • Solve compatibility with Unsigned types, 12.2.3
  • allow READ(full_attr) on eval

New-cache-proxy:

  • Solve Bugs in EventListener and ThreadedObject

FolderDS:

  • Adapt FolderAPI to multi-tango-host environment
  • Add launchers

12.2.1 - October 2016, Bugfix release, required by latest PyPLC/Panic

Solve critical bug in tango.add_new_device that may prevent PyAlarm to start

FolderDS/API/GUI updated to be multi-tango-host capable
threads: timed_range new time-based iterator
dynamic: extend DynamicAttribute formula syntax for ATTR/GET/SET
callbacks: New EventSource/Listener API for registering to Tango events (BETA)
inheritance: printout that caused problems on fandango.sh


12.1 - August 2016, required by latest PyPLC/Panic

device.FolderAPI is now Singleton, capable of parsing folderds:/tango: URI's
functional: Solved bug on str2type(list)


12.0 - August 2016, required by latest PyPLC/Panic
Adds FolderDS device/api and solves JSON export issues

MIGRATED TO GITHUB: https://github.com/sergirubio/fandango

device/FolderDS:

  • remote writing/reading log files
  • FolderGUI tool for managing FolderDS devices
  • FolderDS device class and documentation

functional:

  • Add multiline strings when exporting to json dictionary
  • Solve bug in replaceCl, dict2json
  • Add code2atoms, allow str2list to keep separator
  • solve bug in filtersmart()
  • Add is_zero argument to isBool (enable 0 as a valid boolean by default)

tango:

  • Solve numpy bug on export_attribute_to_dict (using str2type)
  • Add verbose state on check_device()
  • Add load_by_class get_device_host methods to ServersDict (for better device-based API's)
  • Add get_device_help internal DS method
  • Add get_class_devices method
  • Add get_full_name method

linos: Add caseless option to listdir()
dynamic: Add Help() command to DynamicDS
qt: Solve bug in QEvaluator.setModel()
objects: Add nullDecorator to objects
log: Add logLevel to FakeLogger
test: Adding custom test scripts