svn commit: r1773551 - in /bloodhound/trunk: bloodhound_dashboard/setup.py bloodhound_multiproduct/setup.py bloodhound_relations/setup.py bloodhound_search/setup.py bloodhound_theme/setup.py installer
Author: rjollos Date: Sun Dec 11 08:59:49 2016 New Revision: 1773551 URL: http://svn.apache.org/viewvc?rev=1773551=rev Log: 0.9.0dev: Tidy up `setup.py` and remove `distutils` support `distutils` is obsolete now and we only need to support `setuptools`. Modified: bloodhound/trunk/bloodhound_dashboard/setup.py bloodhound/trunk/bloodhound_multiproduct/setup.py bloodhound/trunk/bloodhound_relations/setup.py bloodhound/trunk/bloodhound_search/setup.py bloodhound/trunk/bloodhound_theme/setup.py bloodhound/trunk/installer/setup.py Modified: bloodhound/trunk/bloodhound_dashboard/setup.py URL: http://svn.apache.org/viewvc/bloodhound/trunk/bloodhound_dashboard/setup.py?rev=1773551=1773550=1773551=diff == --- bloodhound/trunk/bloodhound_dashboard/setup.py (original) +++ bloodhound/trunk/bloodhound_dashboard/setup.py Sun Dec 11 08:59:49 2016 @@ -20,10 +20,7 @@ import sys -try: -from setuptools import setup -except ImportError: -from distutils.core import setup +from setuptools import setup DESC = """Project dashboard for Apache(TM) Bloodhound. @@ -40,83 +37,76 @@ versions = [ (0, 7, 0), (0, 8, 0), (0, 9, 0), -] +] latest = '.'.join(str(x) for x in versions[-1]) status = { -'planning' : "Development Status :: 1 - Planning", -'pre-alpha' : "Development Status :: 2 - Pre-Alpha", -'alpha' : "Development Status :: 3 - Alpha", -'beta' : "Development Status :: 4 - Beta", -'stable' :"Development Status :: 5 - Production/Stable", -'mature' :"Development Status :: 6 - Mature", -'inactive' : "Development Status :: 7 - Inactive" - } +'planning': "Development Status :: 1 - Planning", +'pre-alpha': "Development Status :: 2 - Pre-Alpha", +'alpha': "Development Status :: 3 - Alpha", +'beta': "Development Status :: 4 - Beta", +'stable': "Development Status :: 5 - Production/Stable", +'mature': "Development Status :: 6 - Mature", +'inactive': "Development Status :: 7 - Inactive" +} dev_status = status["alpha"] cats = [ - dev_status, - "Environment :: Plugins", - "Environment :: Web Environment", - "Framework :: Trac", - "Intended Audience :: Developers", - "Intended Audience :: Information Technology", - "Intended Audience :: Other Audience", - "Intended Audience :: System Administrators", - "License :: Unknown", - "Operating System :: OS Independent", - "Programming Language :: Python", - "Programming Language :: Python :: 2.5", - "Programming Language :: Python :: 2.6", - "Programming Language :: Python :: 2.7", - "Topic :: Internet :: WWW/HTTP :: Dynamic Content :: CGI Tools/Libraries", - "Topic :: Internet :: WWW/HTTP :: HTTP Servers", - "Topic :: Internet :: WWW/HTTP :: WSGI", - "Topic :: Software Development :: Bug Tracking", - "Topic :: Software Development :: Libraries :: Application Frameworks", - "Topic :: Software Development :: Libraries :: Python Modules", - "Topic :: Software Development :: User Interfaces", - "Topic :: Software Development :: Widget Sets" -] +dev_status, +"Environment :: Plugins", +"Environment :: Web Environment", +"Framework :: Trac", +"Intended Audience :: Developers", +"Intended Audience :: Information Technology", +"Intended Audience :: Other Audience", +"Intended Audience :: System Administrators", +"License :: Unknown", +"Operating System :: OS Independent", +"Programming Language :: Python", +"Programming Language :: Python :: 2.5", +"Programming Language :: Python :: 2.6", +"Programming Language :: Python :: 2.7", +"Topic :: Internet :: WWW/HTTP :: Dynamic Content :: CGI Tools/Libraries", +"Topic :: Internet :: WWW/HTTP :: HTTP Servers", +"Topic :: Internet :: WWW/HTTP :: WSGI", +"Topic :: Software Development :: Bug Tracking", +"Topic :: Software Development :: Libraries :: Application Frameworks", +"Topic :: Software Development :: Libraries :: Python Modules", +"Topic :: Software Development :: User Interfaces", +"Topic :: Software Development :: Widget Sets" +] # Add the change log to the package description. chglog
svn commit: r1773524 - in /bloodhound/trunk: bloodhound_dashboard/setup.py bloodhound_multiproduct/setup.py bloodhound_relations/setup.py bloodhound_search/setup.py
Author: rjollos Date: Sat Dec 10 17:06:38 2016 New Revision: 1773524 URL: http://svn.apache.org/viewvc?rev=1773524=rev Log: 0.9.0dev: Fix incorrect version comparison Modified: bloodhound/trunk/bloodhound_dashboard/setup.py bloodhound/trunk/bloodhound_multiproduct/setup.py bloodhound/trunk/bloodhound_relations/setup.py bloodhound/trunk/bloodhound_search/setup.py Modified: bloodhound/trunk/bloodhound_dashboard/setup.py URL: http://svn.apache.org/viewvc/bloodhound/trunk/bloodhound_dashboard/setup.py?rev=1773524=1773523=1773524=diff == --- bloodhound/trunk/bloodhound_dashboard/setup.py (original) +++ bloodhound/trunk/bloodhound_dashboard/setup.py Sat Dec 10 17:06:38 2016 @@ -19,6 +19,7 @@ # under the License. +import sys try: from setuptools import setup except ImportError: @@ -158,7 +159,8 @@ setup( license = "Apache License v2", url = "https://bloodhound.apache.org/;, requires = ['trac'], -tests_require = ['dutest>=0.2.4', 'TracXMLRPC'], +tests_require = ['dutest>=0.2.4', 'TracXMLRPC'] + +['unittest2'] if sys.version_info < (2, 7) else [], package_dir = dict([p, i[0]] for p, i in PKG_INFO.iteritems()), packages = PKG_INFO.keys(), package_data = dict([p, i[1]] for p, i in PKG_INFO.iteritems()), Modified: bloodhound/trunk/bloodhound_multiproduct/setup.py URL: http://svn.apache.org/viewvc/bloodhound/trunk/bloodhound_multiproduct/setup.py?rev=1773524=1773523=1773524=diff == --- bloodhound/trunk/bloodhound_multiproduct/setup.py (original) +++ bloodhound/trunk/bloodhound_multiproduct/setup.py Sat Dec 10 17:06:38 2016 @@ -74,6 +74,6 @@ setup( 'multiproduct.web_ui = multiproduct.web_ui', ],}, test_suite='tests.test_suite', -tests_require=['unittest2' if parse_version(sys.version) < parse_version('2.7') else ''], +tests_require=['unittest2'] if sys.version_info < (2, 7) else [], **extra ) Modified: bloodhound/trunk/bloodhound_relations/setup.py URL: http://svn.apache.org/viewvc/bloodhound/trunk/bloodhound_relations/setup.py?rev=1773524=1773523=1773524=diff == --- bloodhound/trunk/bloodhound_relations/setup.py (original) +++ bloodhound/trunk/bloodhound_relations/setup.py Sat Dec 10 17:06:38 2016 @@ -152,6 +152,6 @@ setup( classifiers = cats, long_description= DESC, test_suite='bhrelations.tests.test_suite', -tests_require=['unittest2' if parse_version(sys.version) < parse_version('2.7') else ''], +tests_require=['unittest2'] if sys.version_info < (2, 7) else [], **extra ) Modified: bloodhound/trunk/bloodhound_search/setup.py URL: http://svn.apache.org/viewvc/bloodhound/trunk/bloodhound_search/setup.py?rev=1773524=1773523=1773524=diff == --- bloodhound/trunk/bloodhound_search/setup.py (original) +++ bloodhound/trunk/bloodhound_search/setup.py Sat Dec 10 17:06:38 2016 @@ -182,6 +182,6 @@ setup( classifiers = cats, long_description= DESC, test_suite='bhsearch.tests.test_suite', -tests_require=['unittest2' if parse_version(sys.version) < parse_version('2.7') else ''], +tests_require=['unittest2'] if sys.version_info < (2, 7) else [], **extra )
svn commit: r1773523 - in /bloodhound/trunk: bloodhound_dashboard/setup.cfg bloodhound_multiproduct/setup.cfg bloodhound_relations/setup.cfg bloodhound_search/setup.cfg bloodhound_theme/setup.cfg inst
Author: rjollos Date: Sat Dec 10 16:43:32 2016 New Revision: 1773523 URL: http://svn.apache.org/viewvc?rev=1773523=rev Log: 0.9.0dev: Remove `tag_svn_revision` from `setup.cfg` The attribute isn't supported in setuptools >= 10. Modified: bloodhound/trunk/bloodhound_dashboard/setup.cfg bloodhound/trunk/bloodhound_multiproduct/setup.cfg bloodhound/trunk/bloodhound_relations/setup.cfg bloodhound/trunk/bloodhound_search/setup.cfg bloodhound/trunk/bloodhound_theme/setup.cfg bloodhound/trunk/installer/setup.cfg Modified: bloodhound/trunk/bloodhound_dashboard/setup.cfg URL: http://svn.apache.org/viewvc/bloodhound/trunk/bloodhound_dashboard/setup.cfg?rev=1773523=1773522=1773523=diff == --- bloodhound/trunk/bloodhound_dashboard/setup.cfg (original) +++ bloodhound/trunk/bloodhound_dashboard/setup.cfg Sat Dec 10 16:43:32 2016 @@ -17,8 +17,6 @@ [egg_info] tag_build = dev -tag_date = 0 -tag_svn_revision = true [sdist] formats = gztar,bztar,ztar,tar,zip Modified: bloodhound/trunk/bloodhound_multiproduct/setup.cfg URL: http://svn.apache.org/viewvc/bloodhound/trunk/bloodhound_multiproduct/setup.cfg?rev=1773523=1773522=1773523=diff == --- bloodhound/trunk/bloodhound_multiproduct/setup.cfg (original) +++ bloodhound/trunk/bloodhound_multiproduct/setup.cfg Sat Dec 10 16:43:32 2016 @@ -17,8 +17,6 @@ [egg_info] tag_build = dev -tag_date = 0 -tag_svn_revision = true [sdist] formats = gztar,bztar,ztar,tar,zip Modified: bloodhound/trunk/bloodhound_relations/setup.cfg URL: http://svn.apache.org/viewvc/bloodhound/trunk/bloodhound_relations/setup.cfg?rev=1773523=1773522=1773523=diff == --- bloodhound/trunk/bloodhound_relations/setup.cfg (original) +++ bloodhound/trunk/bloodhound_relations/setup.cfg Sat Dec 10 16:43:32 2016 @@ -17,8 +17,6 @@ [egg_info] tag_build = dev -tag_date = 0 -tag_svn_revision = true [sdist] formats = gztar,bztar,ztar,tar,zip Modified: bloodhound/trunk/bloodhound_search/setup.cfg URL: http://svn.apache.org/viewvc/bloodhound/trunk/bloodhound_search/setup.cfg?rev=1773523=1773522=1773523=diff == --- bloodhound/trunk/bloodhound_search/setup.cfg (original) +++ bloodhound/trunk/bloodhound_search/setup.cfg Sat Dec 10 16:43:32 2016 @@ -17,8 +17,6 @@ [egg_info] tag_build = dev -tag_date = 0 -tag_svn_revision = true [sdist] formats = gztar,bztar,ztar,tar,zip Modified: bloodhound/trunk/bloodhound_theme/setup.cfg URL: http://svn.apache.org/viewvc/bloodhound/trunk/bloodhound_theme/setup.cfg?rev=1773523=1773522=1773523=diff == --- bloodhound/trunk/bloodhound_theme/setup.cfg (original) +++ bloodhound/trunk/bloodhound_theme/setup.cfg Sat Dec 10 16:43:32 2016 @@ -17,8 +17,6 @@ [egg_info] tag_build = dev -tag_date = 0 -tag_svn_revision = true [sdist] formats = gztar,bztar,ztar,tar,zip @@ -70,4 +68,4 @@ output_dir = bhtheme/locale [generate_messages_js] domain = bhtheme-js input_dir = bhtheme/locale -output_dir = bhtheme/htdocs/bloodhound \ No newline at end of file +output_dir = bhtheme/htdocs/bloodhound Modified: bloodhound/trunk/installer/setup.cfg URL: http://svn.apache.org/viewvc/bloodhound/trunk/installer/setup.cfg?rev=1773523=1773522=1773523=diff == --- bloodhound/trunk/installer/setup.cfg (original) +++ bloodhound/trunk/installer/setup.cfg Sat Dec 10 16:43:32 2016 @@ -17,8 +17,6 @@ [egg_info] tag_build = dev -tag_date = 0 -tag_svn_revision = true [sdist] formats = gztar,bztar,ztar,tar,zip
svn commit: r1700643 - /bloodhound/site/index.html
Author: rjollos Date: Tue Sep 1 19:01:57 2015 New Revision: 1700643 URL: http://svn.apache.org/r1700643 Log: Direct to lua script rather than cgi. https://reference.apache.org/pmc/mirror_scripts Modified: bloodhound/site/index.html Modified: bloodhound/site/index.html URL: http://svn.apache.org/viewvc/bloodhound/site/index.html?rev=1700643=1700642=1700643=diff == --- bloodhound/site/index.html (original) +++ bloodhound/site/index.html Tue Sep 1 19:01:57 2015 @@ -17,7 +17,7 @@ Manage software products Keep track of features, tasks and bugs - 2014-12-11 - Version 0.8 has been released. http://goo.gl/y5ICQQ;>Download now + 2014-12-11 - Version 0.8 has been released. http://goo.gl/HDqpE5;>Download now Standing on the shoulders of http://trac.edgewall.org/;>Trac, Apache Bloodhound is a free and open source project hosted by the http://www.apache.org;>Apache Software Foundation. https://twitter.com/apbloodhound; class="twitter-follow-button" data-show-count="false" data-dnt="true">Follow @apbloodhound http://ghbtns.com/github-btn.html?user=apache=bloodhound=watch=true; @@ -42,7 +42,7 @@ Try, download, contribute - http://goo.gl/9NqjB;>Online demo No registration required. + http://goo.gl/HDqpE5;>Online demo No registration required. http://goo.gl/y5ICQQ;>Download now https://issues.apache.org/bloodhound/wiki/BloodhoundInstall;>Installation instructions https://issues.apache.org/bloodhound/;>Wiki + Issue tracker
svn commit: r1683461 - in /bloodhound/trunk/installer: requirements-dev.txt requirements.txt
Author: rjollos Date: Thu Jun 4 04:17:14 2015 New Revision: 1683461 URL: http://svn.apache.org/r1683461 Log: 0.9dev: Freeze Pygments at version 1.6. Bloodhound will not work with the next release of Pygments, Pygments 2.0 or later, until Trac 1.0.2 is merged into the codebase. Reference: https://groups.google.com/d/msg/trac-users/dQTG3qAWb4c/aUaSsydV_ogJ Modified: bloodhound/trunk/installer/requirements-dev.txt bloodhound/trunk/installer/requirements.txt Modified: bloodhound/trunk/installer/requirements-dev.txt URL: http://svn.apache.org/viewvc/bloodhound/trunk/installer/requirements-dev.txt?rev=1683461r1=1683460r2=1683461view=diff == --- bloodhound/trunk/installer/requirements-dev.txt (original) +++ bloodhound/trunk/installer/requirements-dev.txt Thu Jun 4 04:17:14 2015 @@ -15,7 +15,7 @@ # specific language governing permissions and limitations # under the License. -Pygments +Pygments==1.6 pytz==2013b sqlparse==0.1.7 Babel==0.9.6 Modified: bloodhound/trunk/installer/requirements.txt URL: http://svn.apache.org/viewvc/bloodhound/trunk/installer/requirements.txt?rev=1683461r1=1683460r2=1683461view=diff == --- bloodhound/trunk/installer/requirements.txt (original) +++ bloodhound/trunk/installer/requirements.txt Thu Jun 4 04:17:14 2015 @@ -15,7 +15,7 @@ # specific language governing permissions and limitations # under the License. -Pygments +Pygments==1.6 pytz==2013b sqlparse==0.1.7 Babel==0.9.6
svn commit: r1658972 - /bloodhound/trunk/bloodhound_theme/bhtheme/templates/bh_batch_modify.html
Author: rjollos Date: Wed Feb 11 14:31:41 2015 New Revision: 1658972 URL: http://svn.apache.org/r1658972 Log: 0.9dev: Indentation fixes. Modified: bloodhound/trunk/bloodhound_theme/bhtheme/templates/bh_batch_modify.html Modified: bloodhound/trunk/bloodhound_theme/bhtheme/templates/bh_batch_modify.html URL: http://svn.apache.org/viewvc/bloodhound/trunk/bloodhound_theme/bhtheme/templates/bh_batch_modify.html?rev=1658972r1=1658971r2=1658972view=diff == --- bloodhound/trunk/bloodhound_theme/bhtheme/templates/bh_batch_modify.html (original) +++ bloodhound/trunk/bloodhound_theme/bhtheme/templates/bh_batch_modify.html Wed Feb 11 14:31:41 2015 @@ -18,12 +18,12 @@ -- form xmlns=http://www.w3.org/1999/xhtml; - xmlns:py=http://genshi.edgewall.org/; - xmlns:i18n=http://genshi.edgewall.org/i18n; + xmlns:py=http://genshi.edgewall.org/; + xmlns:i18n=http://genshi.edgewall.org/i18n; i18n:domain=bhtheme - xmlns:xi=http://www.w3.org/2001/XInclude; - id=batchmod_form method=post action=${req.href + '/batchmodify'} - class=form-horizontal + xmlns:xi=http://www.w3.org/2001/XInclude; + id=batchmod_form method=post action=${req.href + '/batchmodify'} + class=form-horizontal fieldset id=batchmod_fieldset legend class=foldableBatch Modify/legend @@ -37,7 +37,7 @@ placeholder=${_('Describe changes using WikiFormatting')} / /td /tr - + tr id=add_batchmod_field_row td colspan=3 div class=control-group @@ -54,24 +54,23 @@ /div /td /tr - + tr td colspan=3 -fieldset id=batchmod_action +fieldset id=batchmod_action legendAction/legend xi:include href=bh_ticket_actions.html / /fieldset /td /tr /table - + div input type=hidden name=selected_tickets value=/ input type=hidden name=query_href value=${query_href}/ -input type=submit id=batchmod_submit name=batchmod_submit -class=btn value=${_('Change tickets')} / +input type=submit id=batchmod_submit name=batchmod_submit class=btn value=${_('Change tickets')} / /div - + div id=batchmod_help i18n:msg= p class=help-block pull-right span class=label label-infoNote/span See a href=${href.wiki('TracBatchModify')}TracBatchModify/a for help on using batch modify. @@ -81,4 +80,3 @@ /fieldset /form -
svn commit: r1647724 - /bloodhound/site/index.html
Author: rjollos Date: Wed Dec 24 03:35:53 2014 New Revision: 1647724 URL: http://svn.apache.org/r1647724 Log: Updated other download location on page. Modified: bloodhound/site/index.html Modified: bloodhound/site/index.html URL: http://svn.apache.org/viewvc/bloodhound/site/index.html?rev=1647724r1=1647723r2=1647724view=diff == --- bloodhound/site/index.html (original) +++ bloodhound/site/index.html Wed Dec 24 03:35:53 2014 @@ -43,7 +43,7 @@ ph2Try, download, contribute/h2/p pa class=btn btn-warning href=http://goo.gl/9NqjB;Online demo/a No registration required./p - pa class=btn btn-success href=http://goo.gl/EMHMvQ;Download now/a + pa class=btn btn-success href=http://goo.gl/y5ICQQ;Download now/a a href=https://issues.apache.org/bloodhound/wiki/BloodhoundInstall;Installation instructions/a/p pa class=btn btn-primary href=https://issues.apache.org/bloodhound/;Wiki + Issue tracker/a a href=http://incubator.apache.org/projects/bloodhound.html;Project status/a/p
svn commit: r1643051 - /bloodhound/branches/0.8/
Author: rjollos Date: Wed Dec 3 03:05:17 2014 New Revision: 1643051 URL: http://svn.apache.org/r1643051 Log: Removed incorrect branch. Removed: bloodhound/branches/0.8/
svn commit: r1643049 - /bloodhound/trunk/RELEASE_NOTES
Author: rjollos Date: Wed Dec 3 03:00:06 2014 New Revision: 1643049 URL: http://svn.apache.org/r1643049 Log: 0.8dev: Finalize release notes for 0.8. Modified: bloodhound/trunk/RELEASE_NOTES Modified: bloodhound/trunk/RELEASE_NOTES URL: http://svn.apache.org/viewvc/bloodhound/trunk/RELEASE_NOTES?rev=1643049r1=1643048r2=1643049view=diff == --- bloodhound/trunk/RELEASE_NOTES (original) +++ bloodhound/trunk/RELEASE_NOTES Wed Dec 3 03:00:06 2014 @@ -1,6 +1,5 @@ 0.8 * i18n internationalization. - * Multiproduct support for CommitTicketUpdater. * Quick Create Ticket form sets product based on context and forwards values to the ticket form when More fields is selected. * Fixed caching issue that prevented product-scope trac-admin commands @@ -8,16 +7,19 @@ * Improved presentation of the Products page. * Improvements to ticket timeline (comments section). * BloodhoundSearch now supports Whoosh = 2.5.1 (upgraded from 2.4.1). - * Fixed errors in BloodhoundRelations validation logic. + * Fixed several errors in BloodhoundRelations validation logic. * Bootstrap template for the Roadmap and Edit Product views. * Bloodhound installer support for MySQL database. + * Product edits were always reported as anonymous. + * Quick Create Ticket displays the last created ticket for a short time + after it is created. * Numerous other important fixes and minor enhancements. * Not fixed for this release * Cache is not properly refreshed for resources including wiki pages, -milestones, components and permissions; leading to stale data being -displayed after INSERTs and DELETEs (#613, #614, #620, #681, #719, #748). +components and permissions; leading to stale data being displayed +after INSERTs and DELETEs (#614, #620, #681, #719, #748). * Products cannot be deleted (#517). * Duplicate relation is not added when batch modifying tickets (#761). * TicketDeleter component can't be used with BloodhoundTheme (#427).
svn commit: r1643048 - /bloodhound/branches/0.8/trunk/
Author: rjollos Date: Wed Dec 3 02:50:28 2014 New Revision: 1643048 URL: http://svn.apache.org/r1643048 Log: Branching for Release 8. Added: bloodhound/branches/0.8/trunk/ (props changed) - copied from r1643047, bloodhound/trunk/ Propchange: bloodhound/branches/0.8/trunk/ -- --- svn:auto-props (added) +++ svn:auto-props Wed Dec 3 02:50:28 2014 @@ -0,0 +1,5 @@ +*.html = svn:eol-style=native +*.js = svn:eol-style=native +*.css = svn:eol-style=native +*.py = svn:eol-style=native +*.xml = svn:eol-style=native Propchange: bloodhound/branches/0.8/trunk/ -- --- svn:ignore (added) +++ svn:ignore Wed Dec 3 02:50:28 2014 @@ -0,0 +1,7 @@ +*.DS_Store +.idea +.project +.pydevproject +.git +.gitignore +.hg Propchange: bloodhound/branches/0.8/trunk/ -- --- svn:mergeinfo (added) +++ svn:mergeinfo Wed Dec 3 02:50:28 2014 @@ -0,0 +1,3 @@ +/bloodhound/branches/bep_0003_multiproduct:1461360-1463488 +/bloodhound/branches/bep_0010_ticket_numbering:1506462-1517786 +/incubator/bloodhound/branches/bep_0003_multiproduct:1420073-1461359
svn commit: r1643053 - in /bloodhound/branches/0.8: bloodhound_dashboard/setup.cfg bloodhound_multiproduct/setup.cfg bloodhound_relations/setup.cfg bloodhound_search/setup.cfg bloodhound_theme/setup.c
Author: rjollos Date: Wed Dec 3 03:08:19 2014 New Revision: 1643053 URL: http://svn.apache.org/r1643053 Log: Bumped revision for 0.8 release. Modified: bloodhound/branches/0.8/bloodhound_dashboard/setup.cfg bloodhound/branches/0.8/bloodhound_multiproduct/setup.cfg bloodhound/branches/0.8/bloodhound_relations/setup.cfg bloodhound/branches/0.8/bloodhound_search/setup.cfg bloodhound/branches/0.8/bloodhound_theme/setup.cfg Modified: bloodhound/branches/0.8/bloodhound_dashboard/setup.cfg URL: http://svn.apache.org/viewvc/bloodhound/branches/0.8/bloodhound_dashboard/setup.cfg?rev=1643053r1=1643052r2=1643053view=diff == --- bloodhound/branches/0.8/bloodhound_dashboard/setup.cfg (original) +++ bloodhound/branches/0.8/bloodhound_dashboard/setup.cfg Wed Dec 3 03:08:19 2014 @@ -16,9 +16,9 @@ # under the License. [egg_info] -tag_build = dev +tag_build = tag_date = 0 -tag_svn_revision = true +tag_svn_revision = false [sdist] formats = gztar,bztar,ztar,tar,zip Modified: bloodhound/branches/0.8/bloodhound_multiproduct/setup.cfg URL: http://svn.apache.org/viewvc/bloodhound/branches/0.8/bloodhound_multiproduct/setup.cfg?rev=1643053r1=1643052r2=1643053view=diff == --- bloodhound/branches/0.8/bloodhound_multiproduct/setup.cfg (original) +++ bloodhound/branches/0.8/bloodhound_multiproduct/setup.cfg Wed Dec 3 03:08:19 2014 @@ -16,9 +16,9 @@ # under the License. [egg_info] -tag_build = dev +tag_build = tag_date = 0 -tag_svn_revision = true +tag_svn_revision = false [sdist] formats = gztar,bztar,ztar,tar,zip Modified: bloodhound/branches/0.8/bloodhound_relations/setup.cfg URL: http://svn.apache.org/viewvc/bloodhound/branches/0.8/bloodhound_relations/setup.cfg?rev=1643053r1=1643052r2=1643053view=diff == --- bloodhound/branches/0.8/bloodhound_relations/setup.cfg (original) +++ bloodhound/branches/0.8/bloodhound_relations/setup.cfg Wed Dec 3 03:08:19 2014 @@ -16,9 +16,9 @@ # under the License. [egg_info] -tag_build = dev +tag_build = tag_date = 0 -tag_svn_revision = true +tag_svn_revision = false [sdist] formats = gztar,bztar,ztar,tar,zip Modified: bloodhound/branches/0.8/bloodhound_search/setup.cfg URL: http://svn.apache.org/viewvc/bloodhound/branches/0.8/bloodhound_search/setup.cfg?rev=1643053r1=1643052r2=1643053view=diff == --- bloodhound/branches/0.8/bloodhound_search/setup.cfg (original) +++ bloodhound/branches/0.8/bloodhound_search/setup.cfg Wed Dec 3 03:08:19 2014 @@ -16,9 +16,9 @@ # under the License. [egg_info] -tag_build = dev +tag_build = tag_date = 0 -tag_svn_revision = true +tag_svn_revision = false [sdist] formats = gztar,bztar,ztar,tar,zip Modified: bloodhound/branches/0.8/bloodhound_theme/setup.cfg URL: http://svn.apache.org/viewvc/bloodhound/branches/0.8/bloodhound_theme/setup.cfg?rev=1643053r1=1643052r2=1643053view=diff == --- bloodhound/branches/0.8/bloodhound_theme/setup.cfg (original) +++ bloodhound/branches/0.8/bloodhound_theme/setup.cfg Wed Dec 3 03:08:19 2014 @@ -16,9 +16,9 @@ # under the License. [egg_info] -tag_build = dev +tag_build = tag_date = 0 -tag_svn_revision = true +tag_svn_revision = false [sdist] formats = gztar,bztar,ztar,tar,zip @@ -70,4 +70,4 @@ output_dir = bhtheme/locale [generate_messages_js] domain = bhtheme-js input_dir = bhtheme/locale -output_dir = bhtheme/htdocs/bloodhound \ No newline at end of file +output_dir = bhtheme/htdocs/bloodhound
svn commit: r1643047 - /bloodhound/branches/0.8/
Author: rjollos Date: Wed Dec 3 02:47:58 2014 New Revision: 1643047 URL: http://svn.apache.org/r1643047 Log: Branching for Release 8. Added: bloodhound/branches/0.8/ (props changed) - copied from r1643046, bloodhound/trunk/ Propchange: bloodhound/branches/0.8/ -- --- svn:auto-props (added) +++ svn:auto-props Wed Dec 3 02:47:58 2014 @@ -0,0 +1,5 @@ +*.html = svn:eol-style=native +*.js = svn:eol-style=native +*.css = svn:eol-style=native +*.py = svn:eol-style=native +*.xml = svn:eol-style=native Propchange: bloodhound/branches/0.8/ -- --- svn:ignore (added) +++ svn:ignore Wed Dec 3 02:47:58 2014 @@ -0,0 +1,7 @@ +*.DS_Store +.idea +.project +.pydevproject +.git +.gitignore +.hg Propchange: bloodhound/branches/0.8/ -- --- svn:mergeinfo (added) +++ svn:mergeinfo Wed Dec 3 02:47:58 2014 @@ -0,0 +1,3 @@ +/bloodhound/branches/bep_0003_multiproduct:1461360-1463488 +/bloodhound/branches/bep_0010_ticket_numbering:1506462-1517786 +/incubator/bloodhound/branches/bep_0003_multiproduct:1420073-1461359
svn commit: r1644711 - in /bloodhound/trunk: bloodhound_dashboard/setup.py bloodhound_multiproduct/setup.py bloodhound_relations/setup.py bloodhound_search/setup.py bloodhound_theme/setup.py installer
Author: rjollos Date: Thu Dec 11 18:01:28 2014 New Revision: 1644711 URL: http://svn.apache.org/r1644711 Log: 0.9dev: Bumped package version numbers. Added: bloodhound/trunk/installer/setup.cfg - copied, changed from r1644709, bloodhound/trunk/bloodhound_theme/setup.cfg Modified: bloodhound/trunk/bloodhound_dashboard/setup.py bloodhound/trunk/bloodhound_multiproduct/setup.py bloodhound/trunk/bloodhound_relations/setup.py bloodhound/trunk/bloodhound_search/setup.py bloodhound/trunk/bloodhound_theme/setup.py bloodhound/trunk/installer/setup.py Modified: bloodhound/trunk/bloodhound_dashboard/setup.py URL: http://svn.apache.org/viewvc/bloodhound/trunk/bloodhound_dashboard/setup.py?rev=1644711r1=1644710r2=1644711view=diff == --- bloodhound/trunk/bloodhound_dashboard/setup.py (original) +++ bloodhound/trunk/bloodhound_dashboard/setup.py Thu Dec 11 18:01:28 2014 @@ -38,6 +38,7 @@ versions = [ (0, 6, 0), (0, 7, 0), (0, 8, 0), +(0, 9, 0), ] latest = '.'.join(str(x) for x in versions[-1]) Modified: bloodhound/trunk/bloodhound_multiproduct/setup.py URL: http://svn.apache.org/viewvc/bloodhound/trunk/bloodhound_multiproduct/setup.py?rev=1644711r1=1644710r2=1644711view=diff == --- bloodhound/trunk/bloodhound_multiproduct/setup.py (original) +++ bloodhound/trunk/bloodhound_multiproduct/setup.py Thu Dec 11 18:01:28 2014 @@ -55,7 +55,7 @@ except ImportError: setup( name = 'BloodhoundMultiProduct', -version = '0.8.0', +version = '0.9.0', description = Multiproduct support for Apache(TM) Bloodhound., author = Apache Bloodhound, license = Apache License v2, Modified: bloodhound/trunk/bloodhound_relations/setup.py URL: http://svn.apache.org/viewvc/bloodhound/trunk/bloodhound_relations/setup.py?rev=1644711r1=1644710r2=1644711view=diff == --- bloodhound/trunk/bloodhound_relations/setup.py (original) +++ bloodhound/trunk/bloodhound_relations/setup.py Thu Dec 11 18:01:28 2014 @@ -36,6 +36,7 @@ versions = [ (0, 6, 0), (0, 7, 0), (0, 8, 0), +(0, 9, 0), ] latest = '.'.join(str(x) for x in versions[-1]) Modified: bloodhound/trunk/bloodhound_search/setup.py URL: http://svn.apache.org/viewvc/bloodhound/trunk/bloodhound_search/setup.py?rev=1644711r1=1644710r2=1644711view=diff == --- bloodhound/trunk/bloodhound_search/setup.py (original) +++ bloodhound/trunk/bloodhound_search/setup.py Thu Dec 11 18:01:28 2014 @@ -36,6 +36,7 @@ versions = [ (0, 6, 0), (0, 7, 0), (0, 8, 0), +(0, 9, 0), ] latest = '.'.join(str(x) for x in versions[-1]) Modified: bloodhound/trunk/bloodhound_theme/setup.py URL: http://svn.apache.org/viewvc/bloodhound/trunk/bloodhound_theme/setup.py?rev=1644711r1=1644710r2=1644711view=diff == --- bloodhound/trunk/bloodhound_theme/setup.py (original) +++ bloodhound/trunk/bloodhound_theme/setup.py Thu Dec 11 18:01:28 2014 @@ -42,7 +42,7 @@ except ImportError: setup( name = 'BloodhoundTheme', - version = '0.8.0', + version = '0.9.0', description = Theme for Apache(TM) Bloodhound., author = Apache Bloodhound, license = Apache License v2, Copied: bloodhound/trunk/installer/setup.cfg (from r1644709, bloodhound/trunk/bloodhound_theme/setup.cfg) URL: http://svn.apache.org/viewvc/bloodhound/trunk/installer/setup.cfg?p2=bloodhound/trunk/installer/setup.cfgp1=bloodhound/trunk/bloodhound_theme/setup.cfgr1=1644709r2=1644711rev=1644711view=diff == --- bloodhound/trunk/bloodhound_theme/setup.cfg (original) +++ bloodhound/trunk/installer/setup.cfg Thu Dec 11 18:01:28 2014 @@ -22,52 +22,3 @@ tag_svn_revision = true [sdist] formats = gztar,bztar,ztar,tar,zip - -[extract_messages] -add_comments = TRANSLATOR: -copyright_holder = Apache Software Foundation -msgid_bugs_address = d...@bloodhound.apache.org -output_file = bhtheme/locale/messages.pot -keywords = _ ngettext:1,2 N_ tag_ tagn_:1,2 Option:4 BoolOption:4 IntOption:4 ListOption:6 ExtensionOption:5 PathOption:4 -no-wrap = true - -[init_catalog] -input_file = bhtheme/locale/messages.pot -output_dir = bhtheme/locale -domain = bhtheme - -[compile_catalog] -directory = bhtheme/locale -domain = bhtheme - -[update_catalog] -input_file = bhtheme/locale/messages.pot -output_dir = bhtheme/locale -domain = bhtheme - -[extract_messages_js] -add_comments = TRANSLATOR: -copyright_holder = Apache Software Foundation -msgid_bugs_address = d...@bloodhound.apache.org -output_file = bhtheme/locale/messages-js.pot -keywords = _ ngettext:1,2 N_ -mapping_file = messages-js.cfg
svn commit: r1639602 [1/14] - in /bloodhound/vendor/trac/current: ./ contrib/workflow/ doc/dev/ sample-plugins/ sample-plugins/permissions/ sample-plugins/workflow/ trac/ trac/admin/ trac/admin/templa
Author: rjollos Date: Fri Nov 14 11:06:23 2014 New Revision: 1639602 URL: http://svn.apache.org/r1639602 Log: importing trac-1.0.2 Added: bloodhound/vendor/trac/current/.travis.yml bloodhound/vendor/trac/current/trac/versioncontrol/web_ui/tests/browser.py bloodhound/vendor/trac/current/trac/versioncontrol/web_ui/tests/changeset.py bloodhound/vendor/trac/current/trac/versioncontrol/web_ui/tests/log.py Removed: bloodhound/vendor/trac/current/trac/tests/compat.py bloodhound/vendor/trac/current/trac/ticket/templates/admin_components.html bloodhound/vendor/trac/current/trac/ticket/templates/admin_enums.html bloodhound/vendor/trac/current/trac/ticket/templates/admin_milestones.html bloodhound/vendor/trac/current/trac/ticket/templates/admin_versions.html bloodhound/vendor/trac/current/trac/timeline/tests/web_ui.py bloodhound/vendor/trac/current/trac/timeline/tests/wikisyntax.py bloodhound/vendor/trac/current/trac/util/tests/translation.py bloodhound/vendor/trac/current/tracopt/ticket/tests/ bloodhound/vendor/trac/current/tracopt/versioncontrol/git/tests/git_fs.py Modified: bloodhound/vendor/trac/current/ChangeLog bloodhound/vendor/trac/current/THANKS bloodhound/vendor/trac/current/contrib/workflow/migrate_original_to_basic.py bloodhound/vendor/trac/current/doc/dev/testing-intro.rst bloodhound/vendor/trac/current/sample-plugins/HelloWorld.py bloodhound/vendor/trac/current/sample-plugins/Timestamp.py bloodhound/vendor/trac/current/sample-plugins/milestone_to_version.py bloodhound/vendor/trac/current/sample-plugins/permissions/public_wiki_policy.py bloodhound/vendor/trac/current/sample-plugins/permissions/vulnerability_tickets.py bloodhound/vendor/trac/current/sample-plugins/revision_links.py bloodhound/vendor/trac/current/sample-plugins/workflow/CodeReview.py bloodhound/vendor/trac/current/sample-plugins/workflow/DeleteTicket.py bloodhound/vendor/trac/current/sample-plugins/workflow/StatusFixer.py bloodhound/vendor/trac/current/sample-plugins/workflow/VoteOperation.py bloodhound/vendor/trac/current/setup.cfg bloodhound/vendor/trac/current/setup.py bloodhound/vendor/trac/current/trac/about.py bloodhound/vendor/trac/current/trac/admin/console.py bloodhound/vendor/trac/current/trac/admin/templates/admin.html bloodhound/vendor/trac/current/trac/admin/templates/admin_basics.html bloodhound/vendor/trac/current/trac/admin/templates/admin_legacy.html bloodhound/vendor/trac/current/trac/admin/templates/admin_logging.html bloodhound/vendor/trac/current/trac/admin/templates/admin_perms.html bloodhound/vendor/trac/current/trac/admin/templates/admin_plugins.html bloodhound/vendor/trac/current/trac/admin/tests/console-tests.txt bloodhound/vendor/trac/current/trac/admin/tests/console.py bloodhound/vendor/trac/current/trac/admin/tests/functional.py bloodhound/vendor/trac/current/trac/admin/web_ui.py bloodhound/vendor/trac/current/trac/cache.py bloodhound/vendor/trac/current/trac/db/api.py bloodhound/vendor/trac/current/trac/db/mysql_backend.py bloodhound/vendor/trac/current/trac/db/postgres_backend.py bloodhound/vendor/trac/current/trac/db/sqlite_backend.py bloodhound/vendor/trac/current/trac/db/tests/__init__.py bloodhound/vendor/trac/current/trac/db/tests/api.py bloodhound/vendor/trac/current/trac/db/tests/mysql_test.py bloodhound/vendor/trac/current/trac/db/tests/util.py bloodhound/vendor/trac/current/trac/db/util.py bloodhound/vendor/trac/current/trac/db_default.py bloodhound/vendor/trac/current/trac/dist.py bloodhound/vendor/trac/current/trac/env.py bloodhound/vendor/trac/current/trac/htdocs/css/admin.css bloodhound/vendor/trac/current/trac/htdocs/css/report.css bloodhound/vendor/trac/current/trac/htdocs/css/roadmap.css bloodhound/vendor/trac/current/trac/htdocs/css/ticket.css bloodhound/vendor/trac/current/trac/htdocs/css/trac.css bloodhound/vendor/trac/current/trac/htdocs/css/wiki.css bloodhound/vendor/trac/current/trac/htdocs/js/auto_preview.js bloodhound/vendor/trac/current/trac/htdocs/js/wikitoolbar.js bloodhound/vendor/trac/current/trac/loader.py bloodhound/vendor/trac/current/trac/locale/de/LC_MESSAGES/messages.po bloodhound/vendor/trac/current/trac/locale/ja/LC_MESSAGES/messages-js.po bloodhound/vendor/trac/current/trac/locale/ja/LC_MESSAGES/messages.po bloodhound/vendor/trac/current/trac/locale/ja/LC_MESSAGES/tracini.po bloodhound/vendor/trac/current/trac/locale/messages-js.pot bloodhound/vendor/trac/current/trac/locale/messages.pot bloodhound/vendor/trac/current/trac/locale/tracini.pot bloodhound/vendor/trac/current/trac/mimeview/api.py bloodhound/vendor/trac/current/trac/mimeview/tests/api.py bloodhound/vendor/trac/current/trac/mimeview/tests/patch.html bloodhound/vendor/trac/current/trac/mimeview/tests/patch.py
svn commit: r1639602 [9/14] - in /bloodhound/vendor/trac/current: ./ contrib/workflow/ doc/dev/ sample-plugins/ sample-plugins/permissions/ sample-plugins/workflow/ trac/ trac/admin/ trac/admin/templa
Modified: bloodhound/vendor/trac/current/trac/ticket/roadmap.py URL: http://svn.apache.org/viewvc/bloodhound/vendor/trac/current/trac/ticket/roadmap.py?rev=1639602r1=1639601r2=1639602view=diff == --- bloodhound/vendor/trac/current/trac/ticket/roadmap.py (original) +++ bloodhound/vendor/trac/current/trac/ticket/roadmap.py Fri Nov 14 11:06:23 2014 @@ -350,6 +350,13 @@ def grouped_stats_data(env, stats_provid group_names = field['options'] if field.get('optional'): group_names.insert(0, '') +elif field.get('custom'): +group_names = [name for name, in env.db_query( +SELECT DISTINCT COALESCE(c.value, '') FROM ticket_custom c +WHERE c.name=%s ORDER BY COALESCE(c.value, '') +, (by, ))] +if '' not in group_names: +group_names.insert(0, '') else: group_names = [name for name, in env.db_query( SELECT DISTINCT COALESCE(%s, '') FROM ticket @@ -854,6 +861,9 @@ class MilestoneModule(Component): 'TICKET_ADMIN' in req.perm) else: req.perm(milestone.resource).require('MILESTONE_CREATE') +if milestone.name: +add_notice(req, _(Milestone %(name)s does not exist. You can + create it here., name=milestone.name)) chrome = Chrome(self.env) chrome.add_jquery_ui(req) @@ -1027,7 +1037,7 @@ class MilestoneModule(Component): milestone_realm = Resource('milestone') for name, due, completed, description \ in MilestoneCache(self.env).milestones.itervalues(): -if any(r.search(description) or r.search(name) +if all(r.search(description) or r.search(name) for r in term_regexps): milestone = milestone_realm(id=name) if 'MILESTONE_VIEW' in req.perm(milestone): Modified: bloodhound/vendor/trac/current/trac/ticket/templates/batch_modify.html URL: http://svn.apache.org/viewvc/bloodhound/vendor/trac/current/trac/ticket/templates/batch_modify.html?rev=1639602r1=1639601r2=1639602view=diff == --- bloodhound/vendor/trac/current/trac/ticket/templates/batch_modify.html (original) +++ bloodhound/vendor/trac/current/trac/ticket/templates/batch_modify.html Fri Nov 14 11:06:23 2014 @@ -1,3 +1,13 @@ +!--! Copyright (C) 2012-2014 Edgewall Software + + This software is licensed as described in the file COPYING, which + you should have received as part of this distribution. The terms + are also available at http://trac.edgewall.com/license.html. + + This software consists of voluntary contributions made by many + individuals. For the exact contribution history, see the revision + history and logs, available at http://trac.edgewall.org/. +-- form xmlns=http://www.w3.org/1999/xhtml; xmlns:py=http://genshi.edgewall.org/; xmlns:i18n=http://genshi.edgewall.org/i18n; @@ -12,7 +22,7 @@ label for=batchmod_value_commentComment:/label /th td class=fullrowtextarea - id=batchmod_value_comment name=batchmod_value_comment cols=70 rows=5/ + id=batchmod_value_comment name=batchmod_value_comment class=trac-fullwidth cols=70 rows=5/ /td /tr Modified: bloodhound/vendor/trac/current/trac/ticket/templates/milestone_delete.html URL: http://svn.apache.org/viewvc/bloodhound/vendor/trac/current/trac/ticket/templates/milestone_delete.html?rev=1639602r1=1639601r2=1639602view=diff == --- bloodhound/vendor/trac/current/trac/ticket/templates/milestone_delete.html (original) +++ bloodhound/vendor/trac/current/trac/ticket/templates/milestone_delete.html Fri Nov 14 11:06:23 2014 @@ -1,3 +1,13 @@ +!--! Copyright (C) 2006-2014 Edgewall Software + + This software is licensed as described in the file COPYING, which + you should have received as part of this distribution. The terms + are also available at http://trac.edgewall.com/license.html. + + This software consists of voluntary contributions made by many + individuals. For the exact contribution history, see the revision + history and logs, available at http://trac.edgewall.org/. +-- !DOCTYPE html PUBLIC -//W3C//DTD XHTML 1.0 Strict//EN http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd; Modified: bloodhound/vendor/trac/current/trac/ticket/templates/milestone_edit.html URL: http://svn.apache.org/viewvc/bloodhound/vendor/trac/current/trac/ticket/templates/milestone_edit.html?rev=1639602r1=1639601r2=1639602view=diff == ---
svn commit: r1639602 [3/14] - in /bloodhound/vendor/trac/current: ./ contrib/workflow/ doc/dev/ sample-plugins/ sample-plugins/permissions/ sample-plugins/workflow/ trac/ trac/admin/ trac/admin/templa
Modified: bloodhound/vendor/trac/current/trac/admin/web_ui.py URL: http://svn.apache.org/viewvc/bloodhound/vendor/trac/current/trac/admin/web_ui.py?rev=1639602r1=1639601r2=1639602view=diff == --- bloodhound/vendor/trac/current/trac/admin/web_ui.py (original) +++ bloodhound/vendor/trac/current/trac/admin/web_ui.py Fri Nov 14 11:06:23 2014 @@ -22,11 +22,6 @@ import pkg_resources import re import shutil -try: -from babel.core import Locale -except ImportError: -Locale = None - from genshi import HTML from genshi.builder import tag @@ -37,7 +32,7 @@ from trac.perm import PermissionSystem, from trac.util.datefmt import all_timezones, pytz from trac.util.text import exception_to_unicode, \ unicode_to_base64, unicode_from_base64 -from trac.util.translation import _, get_available_locales, ngettext +from trac.util.translation import _, Locale, get_available_locales, ngettext from trac.web import HTTPNotFound, IRequestHandler from trac.web.chrome import add_notice, add_stylesheet, \ add_warning, Chrome, INavigationContributor, \ @@ -71,8 +66,8 @@ class AdminModule(Component): # admin panel is available panels, providers = self._get_panels(req) if panels: -yield 'mainnav', 'admin', tag.a(_('Admin'), href=req.href.admin(), -title=_('Administration')) +yield 'mainnav', 'admin', tag.a(_(Admin), href=req.href.admin(), +title=_(Administration)) # IRequestHandler methods @@ -88,7 +83,7 @@ class AdminModule(Component): def process_request(self, req): panels, providers = self._get_panels(req) if not panels: -raise HTTPNotFound(_('No administration panels available')) +raise HTTPNotFound(_(No administration panels available)) def _panel_order(p1, p2): if p1[::2] == ('general', 'basics'): @@ -114,11 +109,11 @@ class AdminModule(Component): panel_id = \ filter(lambda panel: panel[0] == cat_id, panels)[0][2] except IndexError: -raise HTTPNotFound(_('Unknown administration panel')) +raise HTTPNotFound(_(Unknown administration panel)) provider = providers.get((cat_id, panel_id), None) if not provider: -raise HTTPNotFound(_('Unknown administration panel')) +raise HTTPNotFound(_(Unknown administration panel)) if hasattr(provider, 'render_admin_panel'): template, data = provider.render_admin_panel(req, cat_id, panel_id, @@ -189,14 +184,14 @@ def _save_config(config, req, log, notic try: config.save() if notices is None: -notices = [_('Your changes have been saved.')] +notices = [_(Your changes have been saved.)] for notice in notices: add_notice(req, notice) except Exception, e: -log.error('Error writing to trac.ini: %s', exception_to_unicode(e)) -add_warning(req, _('Error writing to trac.ini, make sure it is ' - 'writable by the web server. Your changes have ' - 'not been saved.')) +log.error(Error writing to trac.ini: %s, exception_to_unicode(e)) +add_warning(req, _(Error writing to trac.ini, make sure it is + writable by the web server. Your changes have + not been saved.)) class BasicsAdminPanel(Component): @@ -207,7 +202,7 @@ class BasicsAdminPanel(Component): def get_admin_panels(self, req): if 'TRAC_ADMIN' in req.perm('admin', 'general/basics'): -yield ('general', _('General'), 'basics', _('Basic Settings')) +yield ('general', _(General), 'basics', _(Basic Settings)) def render_admin_panel(self, req, cat, page, path_info): if Locale: @@ -267,7 +262,7 @@ class LoggingAdminPanel(Component): def get_admin_panels(self, req): if 'TRAC_ADMIN' in req.perm('admin', 'general/logging'): -yield ('general', _('General'), 'logging', _('Logging')) +yield ('general', _(General), 'logging', _(Logging)) def render_admin_panel(self, req, cat, page, path_info): log_type = self.env.log_type @@ -276,16 +271,18 @@ class LoggingAdminPanel(Component): log_dir = os.path.join(self.env.path, 'log') log_types = [ -dict(name='none', label=_('None'), selected=log_type == 'none', disabled=False), -dict(name='stderr', label=_('Console'), +dict(name='none', label=_(None), + selected=log_type == 'none', disabled=False), +dict(name='stderr', label=_(Console), selected=log_type == 'stderr', disabled=False), -
svn commit: r1639602 [11/14] - in /bloodhound/vendor/trac/current: ./ contrib/workflow/ doc/dev/ sample-plugins/ sample-plugins/permissions/ sample-plugins/workflow/ trac/ trac/admin/ trac/admin/templ
Modified: bloodhound/vendor/trac/current/trac/versioncontrol/templates/repository_index.html URL: http://svn.apache.org/viewvc/bloodhound/vendor/trac/current/trac/versioncontrol/templates/repository_index.html?rev=1639602r1=1639601r2=1639602view=diff == --- bloodhound/vendor/trac/current/trac/versioncontrol/templates/repository_index.html (original) +++ bloodhound/vendor/trac/current/trac/versioncontrol/templates/repository_index.html Fri Nov 14 11:06:23 2014 @@ -1,4 +1,15 @@ -!--! Template snippet for a table of repositories -- +!--! Copyright (C) 2008-2014 Edgewall Software + + This software is licensed as described in the file COPYING, which + you should have received as part of this distribution. The terms + are also available at http://trac.edgewall.com/license.html. + + This software consists of voluntary contributions made by many + individuals. For the exact contribution history, see the revision + history and logs, available at http://trac.edgewall.org/. + +Template snippet for a table of repositories +-- html xmlns=http://www.w3.org/1999/xhtml; xmlns:py=http://genshi.edgewall.org/; xmlns:xi=http://www.w3.org/2001/XInclude; py:strip= @@ -11,11 +22,11 @@ tr class=${'odd' if idx % 2 else 'even'} td class=name em py:strip=not err - b py:strip=repoinfo.alias != '' + strong py:strip=repoinfo.alias != '' a class=dir title=View Root Directory href=${href.browser(repos.reponame if repos else reponame, order=order if order != 'name' else None, desc=desc)}$reponame/a - /b + /strong /em /td td class=size Modified: bloodhound/vendor/trac/current/trac/versioncontrol/templates/revisionlog.html URL: http://svn.apache.org/viewvc/bloodhound/vendor/trac/current/trac/versioncontrol/templates/revisionlog.html?rev=1639602r1=1639601r2=1639602view=diff == --- bloodhound/vendor/trac/current/trac/versioncontrol/templates/revisionlog.html (original) +++ bloodhound/vendor/trac/current/trac/versioncontrol/templates/revisionlog.html Fri Nov 14 11:06:23 2014 @@ -1,3 +1,13 @@ +!--! Copyright (C) 2006-2014 Edgewall Software + + This software is licensed as described in the file COPYING, which + you should have received as part of this distribution. The terms + are also available at http://trac.edgewall.com/license.html. + + This software consists of voluntary contributions made by many + individuals. For the exact contribution history, see the revision + history and logs, available at http://trac.edgewall.org/. +-- !DOCTYPE html PUBLIC -//W3C//DTD XHTML 1.0 Strict//EN http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd; Modified: bloodhound/vendor/trac/current/trac/versioncontrol/templates/sortable_th.html URL: http://svn.apache.org/viewvc/bloodhound/vendor/trac/current/trac/versioncontrol/templates/sortable_th.html?rev=1639602r1=1639601r2=1639602view=diff == --- bloodhound/vendor/trac/current/trac/versioncontrol/templates/sortable_th.html (original) +++ bloodhound/vendor/trac/current/trac/versioncontrol/templates/sortable_th.html Fri Nov 14 11:06:23 2014 @@ -1,4 +1,14 @@ -!--! Snippet for a th corresponding to a sortable column. +!--! Copyright (C) 2008-2014 Edgewall Software + + This software is licensed as described in the file COPYING, which + you should have received as part of this distribution. The terms + are also available at http://trac.edgewall.com/license.html. + + This software consists of voluntary contributions made by many + individuals. For the exact contribution history, see the revision + history and logs, available at http://trac.edgewall.org/. + +Snippet for a th corresponding to a sortable column. Expects the following variables to be set specifically: Modified: bloodhound/vendor/trac/current/trac/versioncontrol/tests/api.py URL: http://svn.apache.org/viewvc/bloodhound/vendor/trac/current/trac/versioncontrol/tests/api.py?rev=1639602r1=1639601r2=1639602view=diff == --- bloodhound/vendor/trac/current/trac/versioncontrol/tests/api.py (original) +++ bloodhound/vendor/trac/current/trac/versioncontrol/tests/api.py Fri Nov 14 11:06:23 2014 @@ -111,6 +111,12 @@ class ResourceManagerTestCase(unittest.T self.assertEqual('/trac.cgi/browser/testrepo', get_resource_url(self.env, res, self.env.href)) +res = Resource('repository', '') # default repository +self.assertEqual('Default repository', + get_resource_description(self.env, res)) +
svn commit: r1639602 [14/14] - in /bloodhound/vendor/trac/current: ./ contrib/workflow/ doc/dev/ sample-plugins/ sample-plugins/permissions/ sample-plugins/workflow/ trac/ trac/admin/ trac/admin/templ
Modified: bloodhound/vendor/trac/current/tracopt/perm/authz_policy.py URL: http://svn.apache.org/viewvc/bloodhound/vendor/trac/current/tracopt/perm/authz_policy.py?rev=1639602r1=1639601r2=1639602view=diff == --- bloodhound/vendor/trac/current/tracopt/perm/authz_policy.py (original) +++ bloodhound/vendor/trac/current/tracopt/perm/authz_policy.py Fri Nov 14 11:06:23 2014 @@ -14,7 +14,7 @@ # # Author: Alec Thomas a...@swapoff.org -from fnmatch import fnmatch +from fnmatch import fnmatchcase from itertools import groupby import os @@ -23,7 +23,6 @@ from trac.config import ConfigurationErr from trac.perm import PermissionSystem, IPermissionPolicy from trac.util import lazy from trac.util.text import to_unicode -from trac.util.translation import _ ConfigObj = None try: @@ -196,14 +195,11 @@ class AuthzPolicy(Component): self.log.error(Error parsing authz permission policy file: %s, to_unicode(e)) raise ConfigurationError() -if not self.authz: -self.log.error(The authz file is empty.) -raise ConfigurationError() groups = {} for group, users in self.authz.get('groups', {}).iteritems(): if isinstance(users, basestring): users = [users] -groups[group] = users +groups[group] = map(to_unicode, users) self.groups_by_user = {} @@ -220,28 +216,29 @@ class AuthzPolicy(Component): self.authz_mtime = os.path.getmtime(self.get_authz_file) def normalise_resource(self, resource): +def to_descriptor(resource): +id = resource.id +return '%s:%s@%s' % (resource.realm or '*', + id if id is not None else '*', + resource.version or '*') + def flatten(resource): if not resource: return ['*:*@*'] -if not (resource.realm or resource.id): -return ['%s:%s@%s' % (resource.realm or '*', - resource.id or '*', - resource.version or '*')] +descriptor = to_descriptor(resource) +if not resource.realm and resource.id is None: +return [descriptor] # XXX Due to the mixed functionality in resource we can end up with # ticket, ticket:1, ticket:1@10. This code naively collapses all # subsets of the parent resource into one. eg. ticket:1@10 parent = resource.parent -while parent and (resource.realm == parent.realm or - (resource.realm == parent.realm and - resource.id == parent.id)): +while parent and resource.realm == parent.realm: parent = parent.parent if parent: -parent = flatten(parent) +return flatten(parent) + [descriptor] else: -parent = [] -return parent + ['%s:%s@%s' % (resource.realm or '*', - resource.id or '*', - resource.version or '*')] +return [descriptor] + return '/'.join(flatten(resource)) def authz_permissions(self, resource_key, username): @@ -252,14 +249,15 @@ class AuthzPolicy(Component): else: valid_users = ['*', 'anonymous'] for resource_section in [a for a in self.authz.sections - if a != 'groups']: -resource_glob = resource_section + if a != 'groups']: +resource_glob = to_unicode(resource_section) if '@' not in resource_glob: resource_glob += '@*' -if fnmatch(resource_key, resource_glob): +if fnmatchcase(resource_key, resource_glob): section = self.authz[resource_section] for who, permissions in section.iteritems(): +who = to_unicode(who) if who in valid_users or \ who in self.groups_by_user.get(username, []): self.log.debug('%s matched section %s for user %s', Modified: bloodhound/vendor/trac/current/tracopt/perm/config_perm_provider.py URL: http://svn.apache.org/viewvc/bloodhound/vendor/trac/current/tracopt/perm/config_perm_provider.py?rev=1639602r1=1639601r2=1639602view=diff == --- bloodhound/vendor/trac/current/tracopt/perm/config_perm_provider.py (original) +++ bloodhound/vendor/trac/current/tracopt/perm/config_perm_provider.py Fri Nov 14 11:06:23 2014 @@ -34,17 +34,21 @@ class ExtraPermissionsProvider(Component and a comma-separated list
svn commit: r1639602 [6/14] - in /bloodhound/vendor/trac/current: ./ contrib/workflow/ doc/dev/ sample-plugins/ sample-plugins/permissions/ sample-plugins/workflow/ trac/ trac/admin/ trac/admin/templa
Modified: bloodhound/vendor/trac/current/trac/locale/messages.pot URL: http://svn.apache.org/viewvc/bloodhound/vendor/trac/current/trac/locale/messages.pot?rev=1639602r1=1639601r2=1639602view=diff == --- bloodhound/vendor/trac/current/trac/locale/messages.pot (original) +++ bloodhound/vendor/trac/current/trac/locale/messages.pot Fri Nov 14 11:06:23 2014 @@ -1,14 +1,14 @@ # Translations template for Trac. -# Copyright (C) 2013 Edgewall Software +# Copyright (C) 2014 Edgewall Software # This file is distributed under the same license as the Trac project. -# FIRST AUTHOR EMAIL@ADDRESS, 2013. +# FIRST AUTHOR EMAIL@ADDRESS, 2014. # #, fuzzy msgid msgstr Project-Id-Version: Trac 1.0.2\n Report-Msgid-Bugs-To: trac-...@googlegroups.com\n -POT-Creation-Date: 2013-03-21 22:54+0100\n +POT-Creation-Date: 2014-09-01 12:43+\n PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n Last-Translator: FULL NAME EMAIL@ADDRESS\n Language-Team: LANGUAGE l...@li.org\n @@ -44,7 +44,7 @@ msgstr msgid Create a copy of this ticket msgstr -#: tracopt/ticket/commit_updater.py:275 +#: tracopt/ticket/commit_updater.py:283 msgid Insert a changeset message into the output.\n \n @@ -59,12 +59,16 @@ msgid - `revision`: the revision of the desired changeset msgstr +#: tracopt/ticket/commit_updater.py:313 +msgid (The changeset message doesn't reference this ticket) +msgstr + #: tracopt/ticket/deleter.py:73 tracopt/ticket/deleter.py:90 -#: trac/ticket/templates/report_list.html:82 +#: trac/ticket/templates/report_list.html:92 msgid Delete msgstr -#: tracopt/ticket/deleter.py:74 tracopt/ticket/templates/ticket_delete.html:42 +#: tracopt/ticket/deleter.py:74 tracopt/ticket/templates/ticket_delete.html:51 msgid Delete ticket msgstr @@ -88,89 +92,112 @@ msgstr msgid Comment %(num)s not found msgstr -#: tracopt/ticket/templates/ticket_delete.html:11 +#: tracopt/ticket/templates/ticket_delete.html:21 #, python-format msgid Delete Ticket #%(id)s msgstr -#: tracopt/ticket/templates/ticket_delete.html:12 -#: tracopt/ticket/templates/ticket_delete.html:48 +#: tracopt/ticket/templates/ticket_delete.html:22 +#: tracopt/ticket/templates/ticket_delete.html:58 #, python-format msgid Delete comment %(num)s on Ticket #%(id)s msgstr -#: tracopt/ticket/templates/ticket_delete.html:20 +#: tracopt/ticket/templates/ticket_delete.html:30 #, python-format msgid Delete [1:Ticket #%(id)s] msgstr -#: tracopt/ticket/templates/ticket_delete.html:32 +#: tracopt/ticket/templates/ticket_delete.html:42 msgid Are you sure you want to delete this ticket? msgstr -#: tracopt/ticket/templates/ticket_delete.html:33 +#: tracopt/ticket/templates/ticket_delete.html:43 #, python-format msgid (comments: %(comments)s,\n attachments: %(attachments)s) msgstr -#: tracopt/ticket/templates/ticket_delete.html:36 -#: tracopt/ticket/templates/ticket_delete.html:61 -#: trac/templates/attachment.html:70 trac/wiki/templates/wiki_delete.html:95 +#: tracopt/ticket/templates/ticket_delete.html:46 +#: tracopt/ticket/templates/ticket_delete.html:71 +#: trac/templates/attachment.html:80 trac/wiki/templates/wiki_delete.html:105 msgid This is an irreversible operation. msgstr -#: tracopt/ticket/templates/ticket_delete.html:41 -#: tracopt/ticket/templates/ticket_delete.html:65 -#: trac/admin/templates/admin_components.html:55 -#: trac/admin/templates/admin_enums.html:24 -#: trac/admin/templates/admin_milestones.html:74 -#: trac/admin/templates/admin_versions.html:50 -#: trac/templates/attachment.html:63 trac/templates/attachment.html:76 -#: trac/ticket/templates/milestone_delete.html:40 -#: trac/ticket/templates/milestone_edit.html:108 -#: trac/ticket/templates/report_delete.html:21 -#: trac/ticket/templates/report_edit.html:44 -#: trac/ticket/templates/ticket_change.html:118 -#: trac/versioncontrol/templates/admin_repositories.html:84 -#: trac/wiki/templates/wiki_delete.html:98 -#: trac/wiki/templates/wiki_edit_form.html:73 -#: trac/wiki/templates/wiki_rename.html:32 +#: tracopt/ticket/templates/ticket_delete.html:52 +#: tracopt/ticket/templates/ticket_delete.html:76 +#: trac/templates/attachment.html:73 trac/templates/attachment.html:87 +#: trac/ticket/templates/admin_components.html:64 +#: trac/ticket/templates/admin_enums.html:38 +#: trac/ticket/templates/admin_milestones.html:93 +#: trac/ticket/templates/admin_versions.html:61 +#: trac/ticket/templates/milestone_delete.html:45 +#: trac/ticket/templates/milestone_edit.html:128 +#: trac/ticket/templates/report_delete.html:32 +#: trac/ticket/templates/report_edit.html:62 +#: trac/ticket/templates/ticket_change.html:127 +#: trac/versioncontrol/templates/admin_repositories.html:98 +#: trac/wiki/templates/wiki_delete.html:112 +#: trac/wiki/templates/wiki_edit_form.html:84 +#: trac/wiki/templates/wiki_rename.html:43 msgid Cancel msgstr -#: tracopt/ticket/templates/ticket_delete.html:61
svn commit: r1639602 [7/14] - in /bloodhound/vendor/trac/current: ./ contrib/workflow/ doc/dev/ sample-plugins/ sample-plugins/permissions/ sample-plugins/workflow/ trac/ trac/admin/ trac/admin/templa
Modified: bloodhound/vendor/trac/current/trac/locale/tracini.pot URL: http://svn.apache.org/viewvc/bloodhound/vendor/trac/current/trac/locale/tracini.pot?rev=1639602r1=1639601r2=1639602view=diff == --- bloodhound/vendor/trac/current/trac/locale/tracini.pot (original) +++ bloodhound/vendor/trac/current/trac/locale/tracini.pot Fri Nov 14 11:06:23 2014 @@ -1,14 +1,14 @@ # Translations template for Trac. -# Copyright (C) 2013 Edgewall Software +# Copyright (C) 2014 Edgewall Software # This file is distributed under the same license as the Trac project. -# FIRST AUTHOR EMAIL@ADDRESS, 2013. +# FIRST AUTHOR EMAIL@ADDRESS, 2014. # #, fuzzy msgid msgstr Project-Id-Version: Trac 1.0.2\n Report-Msgid-Bugs-To: trac-...@googlegroups.com\n -POT-Creation-Date: 2013-03-21 22:54+0100\n +POT-Creation-Date: 2014-09-01 12:43+\n PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n Last-Translator: FULL NAME EMAIL@ADDRESS\n Language-Team: LANGUAGE l...@li.org\n @@ -51,11 +51,11 @@ msgid (''since 0.10''). msgstr -#: tracopt/perm/authz_policy.py:132 +#: tracopt/perm/authz_policy.py:134 msgid Location of authz policy configuration file. msgstr -#: tracopt/perm/config_perm_provider.py:24 +#: tracopt/perm/config_perm_provider.py:27 msgid This section provides a way to add arbitrary permissions to a\n Trac environment. This can be useful for adding new permissions to use\n @@ -66,17 +66,21 @@ msgid and a comma-separated list of permissions. For example:\n {{{\n [extra-permissions]\n -extra_admin = extra_view, extra_modify, extra_delete\n +EXTRA_ADMIN = EXTRA_VIEW, EXTRA_MODIFY, EXTRA_DELETE\n }}}\n This entry will define three new permissions `EXTRA_VIEW`,\n `EXTRA_MODIFY` and `EXTRA_DELETE`, as well as a meta-permissions\n `EXTRA_ADMIN` that grants all three permissions.\n \n +The permissions are created in upper-case characters regardless of\n +the casing of the definitions in `trac.ini`. For example, the\n +definition `extra_view` would create the permission `EXTRA_VIEW`.\n +\n If you don't want a meta-permission, start the meta-name with an\n underscore (`_`):\n {{{\n [extra-permissions]\n -_perms = extra_view, extra_modify\n +_perms = EXTRA_VIEW, EXTRA_MODIFY\n }}} msgstr @@ -113,68 +117,68 @@ msgstr msgid Send ticket change notification when updating a ticket. msgstr -#: tracopt/versioncontrol/git/git_fs.py:169 +#: tracopt/versioncontrol/git/git_fs.py:269 msgid Enable persistent caching of commit tree. msgstr -#: tracopt/versioncontrol/git/git_fs.py:172 +#: tracopt/versioncontrol/git/git_fs.py:272 msgid Wrap `GitRepository` in `CachedRepository`. msgstr -#: tracopt/versioncontrol/git/git_fs.py:175 +#: tracopt/versioncontrol/git/git_fs.py:275 msgid The length at which a sha1 should be abbreviated to (must\n be = 4 and = 40). msgstr -#: tracopt/versioncontrol/git/git_fs.py:180 +#: tracopt/versioncontrol/git/git_fs.py:280 msgid The minimum length of an hex-string for which\n auto-detection as sha1 is performed (must be = 4 and = 40). msgstr -#: tracopt/versioncontrol/git/git_fs.py:185 +#: tracopt/versioncontrol/git/git_fs.py:285 msgid Enable reverse mapping of git email addresses to trac user ids\n (costly if you have many users). msgstr -#: tracopt/versioncontrol/git/git_fs.py:189 +#: tracopt/versioncontrol/git/git_fs.py:289 msgid Use git-committer id instead of git-author id for the\n changeset ''Author'' field. msgstr -#: tracopt/versioncontrol/git/git_fs.py:194 +#: tracopt/versioncontrol/git/git_fs.py:294 msgid Use git-committer timestamp instead of git-author timestamp\n for the changeset ''Timestamp'' field. msgstr -#: tracopt/versioncontrol/git/git_fs.py:199 +#: tracopt/versioncontrol/git/git_fs.py:299 msgid Define charset encoding of paths within git repositories. msgstr -#: tracopt/versioncontrol/git/git_fs.py:202 +#: tracopt/versioncontrol/git/git_fs.py:302 msgid Path to the git executable. msgstr -#: tracopt/versioncontrol/git/git_fs.py:752 +#: tracopt/versioncontrol/git/git_fs.py:879 msgid Path to a gitweb-formatted projects.list msgstr -#: tracopt/versioncontrol/git/git_fs.py:755 +#: tracopt/versioncontrol/git/git_fs.py:882 msgid Path to the base of your git projects msgstr -#: tracopt/versioncontrol/git/git_fs.py:758 +#: tracopt/versioncontrol/git/git_fs.py:885 #, python-format msgid Template for project URLs. %s will be replaced with the repo\n name msgstr -#: tracopt/versioncontrol/svn/svn_fs.py:253 +#: tracopt/versioncontrol/svn/svn_fs.py:265 msgid Comma separated list of paths categorized as branches.\n If a path ends with '*', then all the directory entries found below\n @@ -182,7 +186,7 @@ msgid Example: `/trunk, /branches/*, /projectAlpha/trunk, /sandbox/*` msgstr -#: tracopt/versioncontrol/svn/svn_fs.py:260 +#: tracopt/versioncontrol/svn/svn_fs.py:272 msgid Comma separated list of paths
svn commit: r1639602 [10/14] - in /bloodhound/vendor/trac/current: ./ contrib/workflow/ doc/dev/ sample-plugins/ sample-plugins/permissions/ sample-plugins/workflow/ trac/ trac/admin/ trac/admin/templ
Modified: bloodhound/vendor/trac/current/trac/ticket/tests/report.py URL: http://svn.apache.org/viewvc/bloodhound/vendor/trac/current/trac/ticket/tests/report.py?rev=1639602r1=1639601r2=1639602view=diff == --- bloodhound/vendor/trac/current/trac/ticket/tests/report.py (original) +++ bloodhound/vendor/trac/current/trac/ticket/tests/report.py Fri Nov 14 11:06:23 2014 @@ -1,6 +1,6 @@ # -*- coding: utf-8 -*- # -# Copyright (C) 2006-2013 Edgewall Software +# Copyright (C) 2006-2014 Edgewall Software # All rights reserved. # # This software is licensed as described in the file COPYING, which @@ -11,16 +11,24 @@ # individuals. For the exact contribution history, see the revision # history and logs, available at http://trac.edgewall.org/log/. +from __future__ import with_statement + import doctest +from datetime import datetime, timedelta +import unittest +from StringIO import StringIO + +import trac.tests.compat from trac.db.mysql_backend import MySQLConnection +from trac.ticket.model import Ticket from trac.ticket.report import ReportModule -from trac.test import EnvironmentStub, Mock +from trac.test import EnvironmentStub, Mock, MockPerm +from trac.util.datefmt import utc from trac.web.api import Request, RequestDone +from trac.web.href import Href import trac -import unittest -from StringIO import StringIO class MockMySQLConnection(MySQLConnection): def __init__(self): @@ -110,11 +118,409 @@ class ReportTestCase(unittest.TestCase): 'type=r%C3%A9sum%C3%A9report=' + str(id), headers_sent['Location']) +def test_quoted_id_with_var(self): +req = Mock(base_path='', chrome={}, args={}, session={}, + abs_href=Href('/'), href=Href('/'), locale='', + perm=MockPerm(), authname=None, tz=None) +db = self.env.get_read_db() +name = %s`'%%%? +sql = 'SELECT 1 AS %s, $USER AS user' % db.quote(name) +rv = self.report_module.execute_paginated_report(req, db, 1, sql, + {'USER': 'joe'}) +self.assertEqual(5, len(rv), repr(rv)) +cols, results, num_items, missing_args, limit_offset = rv +self.assertEqual([name, 'user'], cols) +self.assertEqual([(1, 'joe')], results) +self.assertEqual([], missing_args) +self.assertEqual(None, limit_offset) + + +class ExecuteReportTestCase(unittest.TestCase): + +def setUp(self): +self.env = EnvironmentStub(default_data=True) +self.req = Mock(base_path='', chrome={}, args={}, session={}, +abs_href=Href('/'), href=Href('/'), locale='', +perm=MockPerm(), authname=None, tz=None) +self.report_module = ReportModule(self.env) + +def tearDown(self): +self.env.reset_db() + +def _insert_ticket(self, when=None, **kwargs): +ticket = Ticket(self.env) +for name, value in kwargs.iteritems(): +ticket[name] = value +ticket['status'] = 'new' +ticket.insert(when=when) +return ticket + +def _save_ticket(self, ticket, author=None, comment=None, when=None, + **kwargs): +if when is None: +when = ticket['changetime'] + timedelta(microseconds=1) +for name, value in kwargs.iteritems(): +ticket[name] = value +return ticket.save_changes(author=author, comment=comment, when=when) + +def _execute_report(self, id, args=None): +mod = self.report_module +req = self.req +with self.env.db_query as db: +title, description, sql = mod.get_report(id) +return mod.execute_paginated_report(req, db, id, sql, args or {}) + +def _generate_tickets(self, columns, data, attrs): +with self.env.db_transaction as db: +tickets = [] +when = datetime(2014, 1, 1, 0, 0, 0, 0, utc) +for idx, line in enumerate(data.splitlines()): +line = line.strip() +if not line or line.startswith('#'): +continue +values = line.split() +assert len(columns) == len(values), 'Line %d' % (idx + 1) +summary = ' '.join(values) +values = map(lambda v: None if v == 'None' else v, values) +d = attrs.copy() +d['summary'] = summary +d.update(zip(columns, values)) + +status = None +if 'status' in d: +status = d.pop('status') +ticket = self._insert_ticket(when=when, status='new', **d) +if status != 'new': +self._save_ticket(ticket, status=status, + when=when + timedelta(microseconds=1)) +tickets.append(ticket) +
svn commit: r1639602 [12/14] - in /bloodhound/vendor/trac/current: ./ contrib/workflow/ doc/dev/ sample-plugins/ sample-plugins/permissions/ sample-plugins/workflow/ trac/ trac/admin/ trac/admin/templ
Modified: bloodhound/vendor/trac/current/trac/wiki/default-pages/TracBackup URL: http://svn.apache.org/viewvc/bloodhound/vendor/trac/current/trac/wiki/default-pages/TracBackup?rev=1639602r1=1639601r2=1639602view=diff == --- bloodhound/vendor/trac/current/trac/wiki/default-pages/TracBackup (original) +++ bloodhound/vendor/trac/current/trac/wiki/default-pages/TracBackup Fri Nov 14 11:06:23 2014 @@ -8,17 +8,15 @@ Since Trac uses a database backend, some == Creating a Backup == To create a backup of a live TracEnvironment, simply run: -{{{ - - $ trac-admin /path/to/projenv hotcopy /path/to/backupdir - + {{{#!sh +$ trac-admin /path/to/projenv hotcopy /path/to/backupdir }}} [wiki:TracAdmin trac-admin] will lock the database while copying.'' The resulting backup directory is safe to handle using standard file-based backup tools like `tar` or `dump`/`restore`. -Please, note, that hotcopy command does not overwrite target directory and when such exists, hotcopy ends with error: `Command failed: [Errno 17] File exists:` This is discussed in [trac:ticket:3198 #3198]. +Please note, the `hotcopy` command will not overwrite a target directory and when such exists the operation ends with error: `Command failed: [Errno 17] File exists:` This is discussed in [trac:ticket:3198 #3198]. === Restoring a Backup === Modified: bloodhound/vendor/trac/current/trac/wiki/default-pages/TracBatchModify URL: http://svn.apache.org/viewvc/bloodhound/vendor/trac/current/trac/wiki/default-pages/TracBatchModify?rev=1639602r1=1639601r2=1639602view=diff == --- bloodhound/vendor/trac/current/trac/wiki/default-pages/TracBatchModify (original) +++ bloodhound/vendor/trac/current/trac/wiki/default-pages/TracBatchModify Fri Nov 14 11:06:23 2014 @@ -1,10 +1,14 @@ = Trac Ticket Batch Modification = [[TracGuideToc]] -From [wiki:TracQuery custom query] results Trac provides support for modifying a batch of tickets in one request. +From [TracQuery custom query] results Trac provides support for modifying a batch of tickets in one request. To perform a batch modification select the tickets you wish to modify and set the new field values using the section underneath the query results. == List fields The `Keywords` and `Cc` fields are treated as lists, where list items can be added and/or removed in addition of replacing the entire list value. All list field controls accept multiple items (i.e. multiple keywords or cc addresses). + +== Excluded fields + +Multi-line text fields are not supported, because no valid use-case has been presented for syncing them across several tickets. That restriction applies to the `Description` field as well as to any [TracTicketsCustomFields#AvailableFieldTypesandOptions custom field] of type 'textarea'. However in conjunction with more suitable actions like 'prepend', 'append' or search replace ([http://trac-hacks.org/ticket/2415 th:#2415]) this could change in future Trac versions. \ No newline at end of file Modified: bloodhound/vendor/trac/current/trac/wiki/default-pages/TracBrowser URL: http://svn.apache.org/viewvc/bloodhound/vendor/trac/current/trac/wiki/default-pages/TracBrowser?rev=1639602r1=1639601r2=1639602view=diff == --- bloodhound/vendor/trac/current/trac/wiki/default-pages/TracBrowser (original) +++ bloodhound/vendor/trac/current/trac/wiki/default-pages/TracBrowser Fri Nov 14 11:06:23 2014 @@ -52,20 +52,15 @@ for more advanced cases. If you're using a Javascript enabled browser, you'll be able to expand and collapse directories in-place by clicking on the arrow head at the right side of a directory. Alternatively, the [trac:TracKeys keyboard] can also be used for this: - - use `'j'` and `'k'` to select the next or previous entry, starting with the first - - `'o'` (open) to toggle between expanded and collapsed state of the selected + - use `j` and `k` to select the next or previous entry, starting with the first + - `o` ('''o'''pen) to toggle between expanded and collapsed state of the selected directory or for visiting the selected file - - `'v'` (view, visit) and `'Enter'`, same as above - - `'r'` can be used to force the reload of an already expanded directory - - `'A'` can be used to directly visit a file in annotate (blame) mode - - `'L'` to view the log for the selected entry -If no row has been selected using `'j'` or `'k'` these keys will operate on the entry under the mouse. + - `v` ('''v'''iew, '''v'''isit) and `Enter`, same as above + - `r` can be used to force the '''r'''eload of an already expanded directory + - `a` can be used to directly visit a file in '''a'''nnotate (blame) mode + - `l` to view the '''l'''og for the selected entry +If no row has been selected using `j` or `k` these keys will
svn commit: r1639602 [8/14] - in /bloodhound/vendor/trac/current: ./ contrib/workflow/ doc/dev/ sample-plugins/ sample-plugins/permissions/ sample-plugins/workflow/ trac/ trac/admin/ trac/admin/templa
Modified: bloodhound/vendor/trac/current/trac/templates/error.html URL: http://svn.apache.org/viewvc/bloodhound/vendor/trac/current/trac/templates/error.html?rev=1639602r1=1639601r2=1639602view=diff == --- bloodhound/vendor/trac/current/trac/templates/error.html (original) +++ bloodhound/vendor/trac/current/trac/templates/error.html Fri Nov 14 11:06:23 2014 @@ -1,3 +1,13 @@ +!--! Copyright (C) 2006-2014 Edgewall Software + + This software is licensed as described in the file COPYING, which + you should have received as part of this distribution. The terms + are also available at http://trac.edgewall.com/license.html. + + This software consists of voluntary contributions made by many + individuals. For the exact contribution history, see the revision + history and logs, available at http://trac.edgewall.org/. +-- !DOCTYPE html PUBLIC -//W3C//DTD XHTML 1.0 Strict//EN http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd; @@ -39,7 +49,9 @@ $(#traceback pre).hide(); $(#tbtoggle).parent().show(); - $(#systeminfo).append(trthjQuery/thtd + $().jquery + /td/tr); + $(#systeminfo).append(trthjQuery/thtd+$().jquery+/td/tr + + trthjQuery UI/thtd+$.ui.version+/td/tr + + trthjQuery Timepicker/thtd+$.timepicker.version+/td/tr); $(#systeminfo).before(pUser Agent: tt + navigator.userAgent + /tt/p); }); /*]]*//script @@ -48,7 +60,9 @@ $(form.newticket textarea).each(function() { $(this).val($(this).val() .replace(/#USER_AGENT#/m, navigator.userAgent) - .replace(/#JQUERY#/m, $().jquery)); + .replace(/#JQUERY#/m, $().jquery) + .replace(/#JQUERYUI#/m, $.ui.version) + .replace(/#JQUERYTP#/m, $.timepicker.version)); }); }); /*]]*//script @@ -98,13 +112,17 @@ ${description_en if url else description pThe action that triggered the error was:/p pre${req.method}: ${req.path_info}/pre /py:when -py:otherwise - form class=newticket method=get action=${project.admin_href.newticket()}# +py:otherwise py:choose= + p py:when=not project.admin_href or project.admin_trac_url == '.' +This is probably a local installation issue. + /p + form py:otherwise= +class=newticket method=get action=${project.admin_href.newticket()}# pThis is probably a local installation issue. - py:if test=project.admin_href and project.admin_trac_url != '.'i18n:msg params=create + i18n:msg params=create You should ${create_ticket()} a ticket at the admin Trac to report the issue. - /i18n:msg/py:if + /i18n:msg /p /form h2Found a bug in Trac?/h2 @@ -140,7 +158,7 @@ ${description_en if url else description li class=frame py:for=idx, frame in enumerate(frames) a href=#frame${idx} id=frame${idx}span i18n:msg=file, line, function py:strip= span class=fileFile ${frame.filename}, -line b${frame.lineno + 1}/b, in/span +line strong${frame.lineno + 1}/strong, in/span var${frame.function}/var/span /a div py:if=frame.line class=source style=display: none Modified: bloodhound/vendor/trac/current/trac/templates/history_view.html URL: http://svn.apache.org/viewvc/bloodhound/vendor/trac/current/trac/templates/history_view.html?rev=1639602r1=1639601r2=1639602view=diff == --- bloodhound/vendor/trac/current/trac/templates/history_view.html (original) +++ bloodhound/vendor/trac/current/trac/templates/history_view.html Fri Nov 14 11:06:23 2014 @@ -1,3 +1,13 @@ +!--! Copyright (C) 2006-2014 Edgewall Software + + This software is licensed as described in the file COPYING, which + you should have received as part of this distribution. The terms + are also available at http://trac.edgewall.com/license.html. + + This software consists of voluntary contributions made by many + individuals. For the exact contribution history, see the revision + history and logs, available at http://trac.edgewall.org/. +-- !DOCTYPE html PUBLIC -//W3C//DTD XHTML 1.0 Strict//EN http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd; @@ -15,7 +25,7 @@ div id=content class=ticket h1 i18n:msg=nameChange History for a href=${url or url_of(resource)}${name or name_of(resource)}/a/h1 - form py:if=history
svn commit: r1639602 [13/14] - in /bloodhound/vendor/trac/current: ./ contrib/workflow/ doc/dev/ sample-plugins/ sample-plugins/permissions/ sample-plugins/workflow/ trac/ trac/admin/ trac/admin/templ
Modified: bloodhound/vendor/trac/current/trac/wiki/default-pages/TracSearch URL: http://svn.apache.org/viewvc/bloodhound/vendor/trac/current/trac/wiki/default-pages/TracSearch?rev=1639602r1=1639601r2=1639602view=diff == --- bloodhound/vendor/trac/current/trac/wiki/default-pages/TracSearch (original) +++ bloodhound/vendor/trac/current/trac/wiki/default-pages/TracSearch Fri Nov 14 11:06:23 2014 @@ -16,7 +16,8 @@ For example: * ![42] -- Opens change set 42 * !#42 -- Opens ticket number 42 * !{1} -- Opens report 1 - * /trunk -- Opens the browser for the `trunk` directory + * /trunk -- Opens the browser for the `trunk` directory in the default repository + * /repos1/trunk -- Opens the browser for the `trunk` directory in the `repos1` repository == Advanced == Modified: bloodhound/vendor/trac/current/trac/wiki/default-pages/TracStandalone URL: http://svn.apache.org/viewvc/bloodhound/vendor/trac/current/trac/wiki/default-pages/TracStandalone?rev=1639602r1=1639601r2=1639602view=diff == --- bloodhound/vendor/trac/current/trac/wiki/default-pages/TracStandalone (original) +++ bloodhound/vendor/trac/current/trac/wiki/default-pages/TracStandalone Fri Nov 14 11:06:23 2014 @@ -13,7 +13,7 @@ It can be used in a variety of situation * Fewer features: Tracd implements a very simple web-server and is not as configurable or as scalable as Apache httpd. * No native HTTPS support: [http://www.rickk.com/sslwrap/ sslwrap] can be used instead, - or [http://trac.edgewall.org/wiki/STunnelTracd stunnel -- a tutorial on how to use stunnel with tracd] or Apache with mod_proxy. + or [trac:wiki:STunnelTracd stunnel -- a tutorial on how to use stunnel with tracd] or Apache with mod_proxy. == Usage examples == @@ -21,7 +21,7 @@ A single project on port 8080. (http://l {{{ $ tracd -p 8080 /path/to/project }}} -Stricly speaking this will make your Trac accessible to everybody from your network rather than ''localhost only''. To truly limit it use ''--hostname'' option. +Strictly speaking this will make your Trac accessible to everybody from your network rather than ''localhost only''. To truly limit it use ''--hostname'' option. {{{ $ tracd --hostname=localhost -p 8080 /path/to/project }}} @@ -95,6 +95,8 @@ $ net start tracd Tracd allows you to run Trac without the need for Apache, but you can take advantage of Apache's password tools (htpasswd and htdigest) to easily create a password file in the proper format for tracd to use in authentication. (It is also possible to create the password file without htpasswd or htdigest; see below for alternatives) +Make sure you place the generated password files on a filesystem which supports sub-second timestamps, as Trac will monitor their modified time and changes happening on a filesystem with too coarse-grained timestamp resolution (like `ext2` or `ext3` on Linux) may go undetected. + Tracd provides support for both Basic and Digest authentication. Digest is considered more secure. The examples below use Digest; to use Basic authentication, replace `--auth` with `--basic-auth` in the command line. The general format for using authentication is: Modified: bloodhound/vendor/trac/current/trac/wiki/default-pages/TracSyntaxColoring URL: http://svn.apache.org/viewvc/bloodhound/vendor/trac/current/trac/wiki/default-pages/TracSyntaxColoring?rev=1639602r1=1639601r2=1639602view=diff == --- bloodhound/vendor/trac/current/trac/wiki/default-pages/TracSyntaxColoring (original) +++ bloodhound/vendor/trac/current/trac/wiki/default-pages/TracSyntaxColoring Fri Nov 14 11:06:23 2014 @@ -6,8 +6,8 @@ To do this, Trac uses external libraries Currently Trac supports syntax coloring using one or more of the following packages: * [http://pygments.pocoo.org/ Pygments], by far the preferred system, as it covers a wide range of programming languages and other structured texts and is actively supported - * [http://www.codento.com/people/mtr/genscript/ GNU Enscript], commonly available on Unix but somewhat unsupported on Windows - * [http://silvercity.sourceforge.net/ SilverCity], legacy system, some versions can be [http://trac.edgewall.org/wiki/TracFaq#why-is-my-css-code-not-being-highlighted-even-though-i-have-silvercity-installed problematic] + * [http://www.codento.com/people/mtr/genscript/ GNU Enscript], commonly available on Unix but somewhat unsupported on Windows //(use is deprecated)// + * [http://silvercity.sourceforge.net/ SilverCity], legacy system, some versions can be problematic //(use is deprecated)// To activate syntax coloring, simply install either one (or more) of these packages (see [#ExtraSoftware] section below). @@ -16,7 +16,7 @@ If none of these packages is available, === About
svn commit: r1639604 - /bloodhound/branches/trac-1.0-stable-integration/
Author: rjollos Date: Fri Nov 14 11:10:57 2014 New Revision: 1639604 URL: http://svn.apache.org/r1639604 Log: Removed unused integration branch. Removed: bloodhound/branches/trac-1.0-stable-integration/
svn commit: r1639605 - /bloodhound/branches/trac-1.0.2-integration/
Author: rjollos Date: Fri Nov 14 11:11:45 2014 New Revision: 1639605 URL: http://svn.apache.org/r1639605 Log: Created branch for integration of Trac 1.0.2. Added: bloodhound/branches/trac-1.0.2-integration/ (props changed) - copied from r1639604, bloodhound/trunk/ Propchange: bloodhound/branches/trac-1.0.2-integration/ -- --- svn:auto-props (added) +++ svn:auto-props Fri Nov 14 11:11:45 2014 @@ -0,0 +1,5 @@ +*.html = svn:eol-style=native +*.js = svn:eol-style=native +*.css = svn:eol-style=native +*.py = svn:eol-style=native +*.xml = svn:eol-style=native Propchange: bloodhound/branches/trac-1.0.2-integration/ -- --- svn:ignore (added) +++ svn:ignore Fri Nov 14 11:11:45 2014 @@ -0,0 +1,7 @@ +*.DS_Store +.idea +.project +.pydevproject +.git +.gitignore +.hg Propchange: bloodhound/branches/trac-1.0.2-integration/ -- --- svn:mergeinfo (added) +++ svn:mergeinfo Fri Nov 14 11:11:45 2014 @@ -0,0 +1,3 @@ +/bloodhound/branches/bep_0003_multiproduct:1461360-1463488 +/bloodhound/branches/bep_0010_ticket_numbering:1506462-1517786 +/incubator/bloodhound/branches/bep_0003_multiproduct:1420073-1461359
svn commit: r1639618 - /bloodhound/vendor/trac/1.0.2/
Author: rjollos Date: Fri Nov 14 12:10:53 2014 New Revision: 1639618 URL: http://svn.apache.org/r1639618 Log: Removed bad tag. Removed: bloodhound/vendor/trac/1.0.2/
svn commit: r1639617 - in /bloodhound/vendor/trac/current: trac/tests/ trac/ticket/templates/ trac/timeline/tests/ trac/util/tests/ tracopt/ticket/tests/ tracopt/versioncontrol/git/tests/
Author: rjollos Date: Fri Nov 14 12:10:40 2014 New Revision: 1639617 URL: http://svn.apache.org/r1639617 Log: Missing file adds from Trac 1.0.2. Added: bloodhound/vendor/trac/current/trac/tests/compat.py bloodhound/vendor/trac/current/trac/ticket/templates/admin_components.html bloodhound/vendor/trac/current/trac/ticket/templates/admin_enums.html bloodhound/vendor/trac/current/trac/ticket/templates/admin_milestones.html bloodhound/vendor/trac/current/trac/ticket/templates/admin_versions.html bloodhound/vendor/trac/current/trac/timeline/tests/web_ui.py bloodhound/vendor/trac/current/trac/timeline/tests/wikisyntax.py bloodhound/vendor/trac/current/trac/util/tests/translation.py bloodhound/vendor/trac/current/tracopt/ticket/tests/ bloodhound/vendor/trac/current/tracopt/ticket/tests/__init__.py bloodhound/vendor/trac/current/tracopt/ticket/tests/commit_updater.py bloodhound/vendor/trac/current/tracopt/versioncontrol/git/tests/git_fs.py Added: bloodhound/vendor/trac/current/trac/tests/compat.py URL: http://svn.apache.org/viewvc/bloodhound/vendor/trac/current/trac/tests/compat.py?rev=1639617view=auto == --- bloodhound/vendor/trac/current/trac/tests/compat.py (added) +++ bloodhound/vendor/trac/current/trac/tests/compat.py Fri Nov 14 12:10:40 2014 @@ -0,0 +1,101 @@ +# -*- coding: utf-8 -*- +# +# Copyright (C) 2013 Edgewall Software +# All rights reserved. +# +# This software is licensed as described in the file COPYING, which +# you should have received as part of this distribution. The terms +# are also available at http://trac.edgewall.org/wiki/TracLicense. +# +# This software consists of voluntary contributions made by many +# individuals. For the exact contribution history, see the revision +# history and logs, available at http://trac.edgewall.org/log/. + +Some test functions since Python 2.7 to provide backwards-compatibility +with previous versions of Python from 2.5 onward. + + +import os +import shutil +import sys +import unittest + + +if not hasattr(unittest.TestCase, 'assertIs'): +def assertIs(self, expr1, expr2, msg=None): +if expr1 is not expr2: +raise self.failureException(msg or '%r is not %r' + % (expr1, expr2)) +unittest.TestCase.assertIs = assertIs + + +if not hasattr(unittest.TestCase, 'assertIsNot'): +def assertIsNot(self, expr1, expr2, msg=None): +if expr1 is expr2: +raise self.failureException(msg or '%r is %r' % (expr1, expr2)) +unittest.TestCase.assertIsNot = assertIsNot + + +if not hasattr(unittest.TestCase, 'assertIsNone'): +def assertIsNone(self, obj, msg=None): +self.assertIs(obj, None, msg) +unittest.TestCase.assertIsNone = assertIsNone + + +if not hasattr(unittest.TestCase, 'assertIsNotNone'): +def assertIsNotNone(self, obj, msg=None): +self.assertIsNot(obj, None, msg) +unittest.TestCase.assertIsNotNone = assertIsNotNone + + +if not hasattr(unittest.TestCase, 'assertIn'): +def assertIn(self, member, container, msg=None): +if member not in container: +raise self.failureException(msg or '%r not in %r' % + (member, container)) +unittest.TestCase.assertIn = assertIn + + +if not hasattr(unittest.TestCase, 'assertNotIn'): +def assertNotIn(self, member, container, msg=None): +if member in container: +raise self.failureException(msg or '%r in %r' % + (member, container)) +unittest.TestCase.assertNotIn = assertNotIn + + +if not hasattr(unittest.TestCase, 'assertIsInstance'): +def assertIsInstance(self, obj, cls, msg=None): +if not isinstance(obj, cls): +raise self.failureException(msg or '%r is not an instance of %r' % + (obj, cls)) +unittest.TestCase.assertIsInstance = assertIsInstance + + +if not hasattr(unittest.TestCase, 'assertNotIsInstance'): +def assertNotIsInstance(self, obj, cls, msg=None): +if isinstance(obj, cls): +raise self.failureException(msg or '%r is an instance of %r' % + (obj, cls)) +unittest.TestCase.assertNotIsInstance = assertNotIsInstance + + +def rmtree(path): +import errno +def onerror(function, path, excinfo): +# `os.remove` fails for a readonly file on Windows. +# Then, it attempts to be writable and remove. +if function != os.remove: +raise +e = excinfo[1] +if isinstance(e, OSError) and e.errno == errno.EACCES: +mode = os.stat(path).st_mode +os.chmod(path, mode | 0666) +function(path) +else: +raise +if os.name == 'nt' and isinstance(path, str): +# Use unicode characters in order to allow non
svn commit: r1639823 [5/29] - in /bloodhound/branches/trac-1.0.2-integration/trac: ./ contrib/ contrib/cgi-bin/ contrib/workflow/ doc/ doc/dev/ doc/utils/ sample-plugins/ sample-plugins/permissions/ s
Modified: bloodhound/branches/trac-1.0.2-integration/trac/trac/db_default.py URL: http://svn.apache.org/viewvc/bloodhound/branches/trac-1.0.2-integration/trac/trac/db_default.py?rev=1639823r1=1639822r2=1639823view=diff == --- bloodhound/branches/trac-1.0.2-integration/trac/trac/db_default.py (original) +++ bloodhound/branches/trac-1.0.2-integration/trac/trac/db_default.py Sat Nov 15 01:14:46 2014 @@ -300,34 +300,27 @@ USER dynamic variable, replaced with the logged in user when executed. , \ -SELECT __color__, __group, +SELECT p.value AS __color__, (CASE - WHEN __group = 1 THEN 'Accepted' - WHEN __group = 2 THEN 'Owned' - WHEN __group = 3 THEN 'Reported' + WHEN owner = $USER AND status = 'accepted' THEN 'Accepted' + WHEN owner = $USER THEN 'Owned' + WHEN reporter = $USER THEN 'Reported' ELSE 'Commented' END) AS __group__, - ticket, summary, component, version, milestone, - type, priority, created, _changetime, _description, - _reporter -FROM ( - SELECT DISTINCT + db.cast('p.value', 'int') + AS __color__, - (CASE - WHEN owner = $USER AND status = 'accepted' THEN 1 - WHEN owner = $USER THEN 2 - WHEN reporter = $USER THEN 3 - ELSE 4 END) AS __group, t.id AS ticket, summary, component, version, milestone, t.type AS type, priority, t.time AS created, t.changetime AS _changetime, description AS _description, reporter AS _reporter FROM ticket t LEFT JOIN enum p ON p.name = t.priority AND p.type = 'priority' - LEFT JOIN ticket_change tc ON tc.ticket = t.id AND tc.author = $USER -AND tc.field = 'comment' - WHERE t.status 'closed' -AND (owner = $USER OR reporter = $USER OR author = $USER) -) AS sub -ORDER BY __group, __color__, milestone, type, created + WHERE t.status 'closed' AND +(owner = $USER OR reporter = $USER OR + EXISTS (SELECT * FROM ticket_change tc + WHERE tc.ticket = t.id AND tc.author = $USER AND + tc.field = 'comment')) + ORDER BY (COALESCE(owner, '') = $USER AND status = 'accepted') DESC, + COALESCE(owner, '') = $USER DESC, + COALESCE(reporter, '') = $USER DESC, ++ db.cast('p.value', 'int') + , milestone, t.type, t.time ), # ('Active Tickets, Mine first', Modified: bloodhound/branches/trac-1.0.2-integration/trac/trac/dist.py URL: http://svn.apache.org/viewvc/bloodhound/branches/trac-1.0.2-integration/trac/trac/dist.py?rev=1639823r1=1639822r2=1639823view=diff == --- bloodhound/branches/trac-1.0.2-integration/trac/trac/dist.py (original) +++ bloodhound/branches/trac-1.0.2-integration/trac/trac/dist.py Sat Nov 15 01:14:46 2014 @@ -85,8 +85,8 @@ try: in_def = in_translator_comments = False comment_tag = None -encoding = parse_encoding(fileobj) \ - or options.get('encoding', 'iso-8859-1') +encoding = str(parse_encoding(fileobj) or + options.get('encoding', 'iso-8859-1')) kwargs_maps = _DEFAULT_KWARGS_MAPS.copy() if 'kwargs_maps' in options: kwargs_maps.update(options['kwargs_maps']) @@ -466,6 +466,17 @@ try: self.run_command('compile_catalog') def run(self): self.l10n_run() +# When bdist_egg is called on distribute 0.6.29 and later, the +# egg file includes no *.mo and *.js files which are generated +# in l10n_run() method. +# We remove build_py.data_files property to re-compute in order +# to avoid the issue (#11640). +build_py = self.get_finalized_command('build_py') +if 'data_files' in build_py.__dict__ and \ + not any(any(name.endswith('.mo') for name in filenames) + for pkg, src_dir, build_dir, filenames + in build_py.data_files): +del build_py.__dict__['data_files'] _install_lib.run(self) return build, install_lib Modified: bloodhound/branches/trac-1.0.2-integration/trac/trac/env.py URL: http://svn.apache.org/viewvc/bloodhound/branches/trac-1.0.2-integration/trac/trac/env.py?rev=1639823r1=1639822r2=1639823view=diff == --- bloodhound/branches/trac-1.0.2-integration/trac/trac/env.py (original) +++ bloodhound/branches/trac-1.0.2-integration/trac/trac/env.py Sat Nov 15 01:14:46 2014 @@ -1,6 +1,6 @@ # -*- coding: utf-8 -*- # -# Copyright (C) 2003-2011 Edgewall Software +# Copyright (C) 2003-2014 Edgewall Software #
svn commit: r1639823 [17/29] - in /bloodhound/branches/trac-1.0.2-integration/trac: ./ contrib/ contrib/cgi-bin/ contrib/workflow/ doc/ doc/dev/ doc/utils/ sample-plugins/ sample-plugins/permissions/
Modified: bloodhound/branches/trac-1.0.2-integration/trac/trac/ticket/tests/functional.py URL: http://svn.apache.org/viewvc/bloodhound/branches/trac-1.0.2-integration/trac/trac/ticket/tests/functional.py?rev=1639823r1=1639822r2=1639823view=diff == --- bloodhound/branches/trac-1.0.2-integration/trac/trac/ticket/tests/functional.py (original) +++ bloodhound/branches/trac-1.0.2-integration/trac/trac/ticket/tests/functional.py Sat Nov 15 01:14:46 2014 @@ -1,24 +1,89 @@ -#!/usr/bin/python +#!/usr/bin/env python # -*- coding: utf-8 -*- +# +# Copyright (C) 2008-2013 Edgewall Software +# All rights reserved. +# +# This software is licensed as described in the file COPYING, which +# you should have received as part of this distribution. The terms +# are also available at http://trac.edgewall.org/wiki/TracLicense. +# +# This software consists of voluntary contributions made by many +# individuals. For the exact contribution history, see the revision +# history and logs, available at http://trac.edgewall.org/log/. + import os import re from datetime import datetime, timedelta +from trac.admin.tests.functional import AuthorizationTestCaseSetup from trac.test import locale_en from trac.tests.functional import * +from trac.util import create_file from trac.util.datefmt import utc, localtz, format_date, format_datetime +from trac.util.text import to_utf8 + +try: +from configobj import ConfigObj +except ImportError: +ConfigObj = None class TestTickets(FunctionalTwillTestCaseSetup): def runTest(self): -Create a ticket, comment on it, and attach a file +Create a ticket and comment on it. # TODO: this should be split into multiple tests -summary = random_sentence(5) -ticketid = self._tester.create_ticket(summary) -self._tester.create_ticket() -self._tester.add_comment(ticketid) -self._tester.attach_file_to_ticket(ticketid) +id = self._tester.create_ticket() +self._tester.add_comment(id) + + +class TestTicketMaxSummarySize(FunctionalTwillTestCaseSetup): +def runTest(self): +Test `[ticket] max_summary_size` option. +http://trac.edgewall.org/ticket/11472; +prev_max_summary_size = \ +self._testenv.get_config('ticket', 'max_summary_size') +short_summary = abcdefghijklmnopqrstuvwxyz +long_summary = short_summary + . +max_summary_size = len(short_summary) +warning_message = rTicket summary is too long \(must be less \ + rthan %s characters\) % max_summary_size +self._testenv.set_config('ticket', 'max_summary_size', + str(max_summary_size)) +try: +self._tester.create_ticket(short_summary) +tc.find(short_summary) +tc.notfind(warning_message) +self._tester.go_to_front() +tc.follow(r\bNew Ticket\b) +tc.notfind(internal_error) +tc.url(self._tester.url + '/newticket') +tc.formvalue('propertyform', 'field_summary', long_summary) +tc.submit('submit') +tc.url(self._tester.url + '/newticket') +tc.find(warning_message) +finally: +self._testenv.set_config('ticket', 'max_summary_size', + prev_max_summary_size) + + +class TestTicketAddAttachment(FunctionalTwillTestCaseSetup): +def runTest(self): +Add attachment to a ticket. Test that the attachment button +reads 'Attach file' when no files have been attached, and 'Attach +another file' when there are existing attachments. +Feature added in http://trac.edgewall.org/ticket/10281; +id = self._tester.create_ticket() +tc.find(Attach file) +filename = self._tester.attach_file_to_ticket(id) + +self._tester.go_to_ticket(id) +tc.find(Attach another file) +tc.find('Attachments span class=trac-count\(1\)/span') +tc.find(filename) +tc.find('Download all attachments as:\s+a rel=nofollow ' +'href=/zip-attachment/ticket/%s/.zip/a' % id) class TestTicketPreview(FunctionalTwillTestCaseSetup): @@ -51,27 +116,72 @@ class TestTicketNoSummary(FunctionalTwil tc.find('ticket not yet created') +class TestTicketManipulator(FunctionalTwillTestCaseSetup): +def runTest(self): +plugin_name = self.__class__.__name__ +env = self._testenv.get_trac_environment() +env.config.set('components', plugin_name + '.*', 'enabled') +env.config.save() +create_file(os.path.join(env.path, 'plugins', plugin_name + '.py'), +\ +from genshi.builder import tag +from trac.core import Component, implements +from trac.ticket.api import ITicketManipulator +from trac.util.translation import tag_ + + +class TicketManipulator(Component): +
svn commit: r1639823 [7/29] - in /bloodhound/branches/trac-1.0.2-integration/trac: ./ contrib/ contrib/cgi-bin/ contrib/workflow/ doc/ doc/dev/ doc/utils/ sample-plugins/ sample-plugins/permissions/ s
Modified: bloodhound/branches/trac-1.0.2-integration/trac/trac/locale/cs/LC_MESSAGES/messages.po URL: http://svn.apache.org/viewvc/bloodhound/branches/trac-1.0.2-integration/trac/trac/locale/cs/LC_MESSAGES/messages.po?rev=1639823r1=1639822r2=1639823view=diff == --- bloodhound/branches/trac-1.0.2-integration/trac/trac/locale/cs/LC_MESSAGES/messages.po (original) +++ bloodhound/branches/trac-1.0.2-integration/trac/trac/locale/cs/LC_MESSAGES/messages.po Sat Nov 15 01:14:46 2014 @@ -5,7 +5,7 @@ # Translators: # Radek BartoÅ xbart...@stud.fit.vutbr.cz, 2007. # Tomáš Äapek soulchar...@gmail.com, 2010. -# ZbynÄk Schwarz zbynek.schw...@gmail.com, 2012. +# ZbynÄk Schwarz zbynek.schw...@gmail.com, 2012-2013. msgid msgstr Project-Id-Version: Trac\n @@ -19,7 +19,7 @@ msgstr MIME-Version: 1.0\n Content-Type: text/plain; charset=utf-8\n Content-Transfer-Encoding: 8bit\n -Generated-By: Babel 0.9.6dev-r0\n +Generated-By: Babel 0.9.6\n #: tracopt/mimeview/php.py:96 msgid @@ -757,7 +757,7 @@ msgid msgstr VÃtejte v trac-admin %(version)s\n Interaktivnà konzoli pro správu Trac.\n -Autorská práva (C) 2003-2012 Edgewall Software\n +Autorská práva (C) 2003-2013 Edgewall Software\n \n Zadejte: '?' nebo 'help' pro nápovÄdu pro pÅÃkazy.\n @@ -778,13 +778,15 @@ msgid No documentation found for '%(cmd)s'. Use 'help' to see the list of commands. msgstr +Pro '%(cmd)s' nebyla nalezena žádná dokumentace, Použijte 'help' pro +zobrazenà seznamu pÅÃkazů. #: trac/admin/console.py:322 msgid Did you mean this? msgid_plural Did you mean one of these? -msgstr[0] -msgstr[1] -msgstr[2] +msgstr[0] Mysleli jste toto? +msgstr[1] Mysleli jste tyto? +msgstr[2] Mysleli jste tyto? #: trac/admin/console.py:326 #, python-format @@ -2121,7 +2123,7 @@ msgid Copyright © 2003-2013\n [1:Edgewall Software] msgstr -Autorská práva © 2003-2012\n +Autorská práva © 2003-2013\n [1:Edgewall Software] #: trac/templates/about.html:54 Modified: bloodhound/branches/trac-1.0.2-integration/trac/trac/locale/da/LC_MESSAGES/messages-js.po URL: http://svn.apache.org/viewvc/bloodhound/branches/trac-1.0.2-integration/trac/trac/locale/da/LC_MESSAGES/messages-js.po?rev=1639823r1=1639822r2=1639823view=diff == --- bloodhound/branches/trac-1.0.2-integration/trac/trac/locale/da/LC_MESSAGES/messages-js.po (original) +++ bloodhound/branches/trac-1.0.2-integration/trac/trac/locale/da/LC_MESSAGES/messages-js.po Sat Nov 15 01:14:46 2014 @@ -17,7 +17,7 @@ msgstr MIME-Version: 1.0\n Content-Type: text/plain; charset=utf-8\n Content-Transfer-Encoding: 8bit\n -Generated-By: Babel 0.9.6dev-r0\n +Generated-By: Babel 0.9.6\n #: trac/htdocs/js/blame.js:84 msgid (no changeset information) Modified: bloodhound/branches/trac-1.0.2-integration/trac/trac/locale/da/LC_MESSAGES/messages.po URL: http://svn.apache.org/viewvc/bloodhound/branches/trac-1.0.2-integration/trac/trac/locale/da/LC_MESSAGES/messages.po?rev=1639823r1=1639822r2=1639823view=diff == --- bloodhound/branches/trac-1.0.2-integration/trac/trac/locale/da/LC_MESSAGES/messages.po (original) +++ bloodhound/branches/trac-1.0.2-integration/trac/trac/locale/da/LC_MESSAGES/messages.po Sat Nov 15 01:14:46 2014 @@ -17,7 +17,7 @@ msgstr MIME-Version: 1.0\n Content-Type: text/plain; charset=utf-8\n Content-Transfer-Encoding: 8bit\n -Generated-By: Babel 0.9.6dev-r0\n +Generated-By: Babel 0.9.6\n #: tracopt/mimeview/php.py:96 msgid @@ -772,7 +772,7 @@ msgid msgstr Velkommen til trac-admin %(version)s\n Interaktiv Trac administrationskonsol.\n -Copyright (C) 2003-2012 Edgewall Software\n +Copyright (C) 2003-2013 Edgewall Software\n \n Skriv: '?' eller 'help' for hjælp til kommandoer.\n Modified: bloodhound/branches/trac-1.0.2-integration/trac/trac/locale/de/LC_MESSAGES/messages-js.po URL: http://svn.apache.org/viewvc/bloodhound/branches/trac-1.0.2-integration/trac/trac/locale/de/LC_MESSAGES/messages-js.po?rev=1639823r1=1639822r2=1639823view=diff == --- bloodhound/branches/trac-1.0.2-integration/trac/trac/locale/de/LC_MESSAGES/messages-js.po (original) +++ bloodhound/branches/trac-1.0.2-integration/trac/trac/locale/de/LC_MESSAGES/messages-js.po Sat Nov 15 01:14:46 2014 @@ -15,7 +15,7 @@ msgstr MIME-Version: 1.0\n Content-Type: text/plain; charset=utf-8\n Content-Transfer-Encoding: 8bit\n -Generated-By: Babel 0.9.6dev-r0\n +Generated-By: Babel 0.9.6\n #: trac/htdocs/js/blame.js:84 msgid (no changeset information) Modified: bloodhound/branches/trac-1.0.2-integration/trac/trac/locale/de/LC_MESSAGES/messages.po URL:
svn commit: r1639823 [8/29] - in /bloodhound/branches/trac-1.0.2-integration/trac: ./ contrib/ contrib/cgi-bin/ contrib/workflow/ doc/ doc/dev/ doc/utils/ sample-plugins/ sample-plugins/permissions/ s
Modified: bloodhound/branches/trac-1.0.2-integration/trac/trac/locale/ja/LC_MESSAGES/messages.po URL: http://svn.apache.org/viewvc/bloodhound/branches/trac-1.0.2-integration/trac/trac/locale/ja/LC_MESSAGES/messages.po?rev=1639823r1=1639822r2=1639823view=diff == --- bloodhound/branches/trac-1.0.2-integration/trac/trac/locale/ja/LC_MESSAGES/messages.po (original) +++ bloodhound/branches/trac-1.0.2-integration/trac/trac/locale/ja/LC_MESSAGES/messages.po Sat Nov 15 01:14:46 2014 @@ -1,18 +1,18 @@ # Japanese (Japan) translations for Trac. -# Copyright (C) 2007-2013 Edgewall Software +# Copyright (C) 2007-2014 Edgewall Software # This file is distributed under the same license as the Trac project. # Jeroen Ruigrok van der Werven asmo...@in-nomine.org, 2007. # Kyosuke Takayama supp...@mc.neweb.ne.jp, 2008,2009. # hirobe, 2008. # kabuchan, 2009. # IWAI, Masaharu i...@alib.jp, 2009,2010. -# Jun Omae jun6...@gmail.com, 2010-2013. +# Jun Omae jun6...@gmail.com, 2010-2014. # msgid msgstr -Project-Id-Version: Trac 1.0\n +Project-Id-Version: Trac 1.0.2\n Report-Msgid-Bugs-To: trac-...@googlegroups.com\n -POT-Creation-Date: 2013-01-27 11:21+0900\n +POT-Creation-Date: 2014-09-01 12:43+\n PO-Revision-Date: 2011-07-14 21:38+0900\n Last-Translator: Jun Omae jun6...@gmail.com\n Language-Team: ja trac-...@googlegroups.com\n @@ -20,7 +20,7 @@ msgstr MIME-Version: 1.0\n Content-Type: text/plain; charset=utf-8\n Content-Transfer-Encoding: 8bit\n -Generated-By: Babel 0.9.6dev-r0\n +Generated-By: Babel 0.9.6\n #: tracopt/mimeview/php.py:96 msgid @@ -52,7 +52,7 @@ msgstr ã³ãã¼ msgid Create a copy of this ticket msgstr ãã®ãã±ããã®ã³ãã¼ãä½æãã -#: tracopt/ticket/commit_updater.py:275 +#: tracopt/ticket/commit_updater.py:283 msgid Insert a changeset message into the output.\n \n @@ -78,12 +78,16 @@ msgstr - `repository`: ãã§ã³ã¸ã»ããããããªãã¸ããª\n - `revision`: è¦æ±ã®ãã§ã³ã¸ã»ããã示ããªãã¸ã§ã³ +#: tracopt/ticket/commit_updater.py:313 +msgid (The changeset message doesn't reference this ticket) +msgstr (ãã§ã³ã¸ã»ããã®ã¡ãã»ã¼ã¸ã¯ãã®ãã±ãããåç §ãã¦ãã¾ãã) + #: tracopt/ticket/deleter.py:73 tracopt/ticket/deleter.py:90 -#: trac/ticket/templates/report_list.html:82 +#: trac/ticket/templates/report_list.html:92 msgid Delete msgstr åé¤ -#: tracopt/ticket/deleter.py:74 tracopt/ticket/templates/ticket_delete.html:42 +#: tracopt/ticket/deleter.py:74 tracopt/ticket/templates/ticket_delete.html:51 msgid Delete ticket msgstr ãã±ããã®åé¤ @@ -107,82 +111,105 @@ msgstr ãã±ãã #%(id)s msgid Comment %(num)s not found msgstr ã³ã¡ã³ã %(num)s ãè¦ã¤ããã¾ãã -#: tracopt/ticket/templates/ticket_delete.html:11 +#: tracopt/ticket/templates/ticket_delete.html:21 #, python-format msgid Delete Ticket #%(id)s msgstr ãã±ãã #%(id)s ã®åé¤ -#: tracopt/ticket/templates/ticket_delete.html:12 -#: tracopt/ticket/templates/ticket_delete.html:48 +#: tracopt/ticket/templates/ticket_delete.html:22 +#: tracopt/ticket/templates/ticket_delete.html:58 #, python-format msgid Delete comment %(num)s on Ticket #%(id)s msgstr ãã±ãã #%(id)s ã³ã¡ã³ã %(num)s ã®åé¤ -#: tracopt/ticket/templates/ticket_delete.html:20 +#: tracopt/ticket/templates/ticket_delete.html:30 #, python-format msgid Delete [1:Ticket #%(id)s] msgstr [1:ãã±ãã #%(id)s] ã®åé¤ -#: tracopt/ticket/templates/ticket_delete.html:32 +#: tracopt/ticket/templates/ticket_delete.html:42 msgid Are you sure you want to delete this ticket? msgstr ãã®ãã±ãããåé¤ãã¾ãã? -#: tracopt/ticket/templates/ticket_delete.html:33 +#: tracopt/ticket/templates/ticket_delete.html:43 #, python-format msgid (comments: %(comments)s,\n attachments: %(attachments)s) msgstr (ã³ã¡ã³ã: %(comments)s, æ·»ä»ãã¡ã¤ã«: %(attachments)s) -#: tracopt/ticket/templates/ticket_delete.html:36 -#: tracopt/ticket/templates/ticket_delete.html:61 -#: trac/templates/attachment.html:70 trac/wiki/templates/wiki_delete.html:95 +#: tracopt/ticket/templates/ticket_delete.html:46 +#: tracopt/ticket/templates/ticket_delete.html:71 +#: trac/templates/attachment.html:80 trac/wiki/templates/wiki_delete.html:105 msgid This is an irreversible operation. msgstr ããã¯åãæ¶ãã®å¹ããªãæä½ã§ãã -#: tracopt/ticket/templates/ticket_delete.html:41 -#: tracopt/ticket/templates/ticket_delete.html:65 -#: trac/admin/templates/admin_components.html:55 -#: trac/admin/templates/admin_enums.html:24 -#: trac/admin/templates/admin_milestones.html:74 -#: trac/admin/templates/admin_versions.html:50 -#: trac/templates/attachment.html:63 trac/templates/attachment.html:76 -#: trac/ticket/templates/milestone_delete.html:40 -#: trac/ticket/templates/milestone_edit.html:108 -#:
svn commit: r1639823 [2/29] - in /bloodhound/branches/trac-1.0.2-integration/trac: ./ contrib/ contrib/cgi-bin/ contrib/workflow/ doc/ doc/dev/ doc/utils/ sample-plugins/ sample-plugins/permissions/ s
Modified: bloodhound/branches/trac-1.0.2-integration/trac/contrib/trac-svn-hook URL: http://svn.apache.org/viewvc/bloodhound/branches/trac-1.0.2-integration/trac/contrib/trac-svn-hook?rev=1639823r1=1639822r2=1639823view=diff == --- bloodhound/branches/trac-1.0.2-integration/trac/contrib/trac-svn-hook (original) +++ bloodhound/branches/trac-1.0.2-integration/trac/contrib/trac-svn-hook Sat Nov 15 01:14:46 2014 @@ -1,4 +1,17 @@ #!/bin/sh +# -*- coding: utf-8 -*- +# +# Copyright (C) 2009-2013 Edgewall Software +# Copyright (C) 2009 Christian Boos cb...@edgewall.org +# All rights reserved. +# +# This software is licensed as described in the file COPYING, which +# you should have received as part of this distribution. The terms +# are also available at http://trac.edgewall.com/license.html. +# +# This software consists of voluntary contributions made by many +# individuals. For the exact contribution history, see the revision +# history and logs, available at http://trac.edgewall.org/. # # = trac-svn-hook = # Modified: bloodhound/branches/trac-1.0.2-integration/trac/contrib/trac-svn-post-commit-hook.cmd URL: http://svn.apache.org/viewvc/bloodhound/branches/trac-1.0.2-integration/trac/contrib/trac-svn-post-commit-hook.cmd?rev=1639823r1=1639822r2=1639823view=diff == --- bloodhound/branches/trac-1.0.2-integration/trac/contrib/trac-svn-post-commit-hook.cmd (original) +++ bloodhound/branches/trac-1.0.2-integration/trac/contrib/trac-svn-post-commit-hook.cmd Sat Nov 15 01:14:46 2014 @@ -1,8 +1,19 @@ @ECHO OFF :: +:: Copyright (C) 2007-2013 Edgewall Software +:: Copyright (C) 2007 Markus Tacker m...@tacker.org +:: Copyright (C) 2007 Christian Boos cb...@edgewall.org +:: All rights reserved. +:: +:: This software is licensed as described in the file COPYING, which +:: you should have received as part of this distribution. The terms +:: are also available at http://trac.edgewall.com/license.html. +:: +:: This software consists of voluntary contributions made by many +:: individuals. For the exact contribution history, see the revision +:: history and logs, available at http://trac.edgewall.org/. :: Trac post-commit-hook script for Windows :: -:: Contributed by markus, modified by cboos. :: Modified for the multirepos branch to use the `changeset` command. :: Usage: Modified: bloodhound/branches/trac-1.0.2-integration/trac/contrib/workflow/migrate_original_to_basic.py URL: http://svn.apache.org/viewvc/bloodhound/branches/trac-1.0.2-integration/trac/contrib/workflow/migrate_original_to_basic.py?rev=1639823r1=1639822r2=1639823view=diff == --- bloodhound/branches/trac-1.0.2-integration/trac/contrib/workflow/migrate_original_to_basic.py (original) +++ bloodhound/branches/trac-1.0.2-integration/trac/contrib/workflow/migrate_original_to_basic.py Sat Nov 15 01:14:46 2014 @@ -1,9 +1,24 @@ #!/usr/bin/python +# -*- coding: utf-8 -*- +# +# Copyright (C) 2007-2013 Edgewall Software +# Copyright (C) 2007 Eli Carter retrac...@gmail.com +# All rights reserved. +# +# This software is licensed as described in the file COPYING, which +# you should have received as part of this distribution. The terms +# are also available at http://trac.edgewall.com/license.html. +# +# This software consists of voluntary contributions made by many +# individuals. For the exact contribution history, see the revision +# history and logs, available at http://trac.edgewall.org/. + import sys import trac.env from trac.ticket.default_workflow import load_workflow_config_snippet + def main(): Rewrite the ticket-workflow section of the config; and change all 'assigned' tickets to 'accepted'. Modified: bloodhound/branches/trac-1.0.2-integration/trac/contrib/workflow/showworkflow URL: http://svn.apache.org/viewvc/bloodhound/branches/trac-1.0.2-integration/trac/contrib/workflow/showworkflow?rev=1639823r1=1639822r2=1639823view=diff == --- bloodhound/branches/trac-1.0.2-integration/trac/contrib/workflow/showworkflow (original) +++ bloodhound/branches/trac-1.0.2-integration/trac/contrib/workflow/showworkflow Sat Nov 15 01:14:46 2014 @@ -1,4 +1,17 @@ #!/bin/bash -x +# -*- coding: utf-8 -*- +# +# Copyright (C) 2007-2013 Edgewall Software +# Copyright (C) 2007 Eli Carter retrac...@gmail.com +# All rights reserved. +# +# This software is licensed as described in the file COPYING, which +# you should have received as part of this distribution. The terms +# are also available at http://trac.edgewall.com/license.html. +# +# This software consists of voluntary contributions made by many +# individuals. For the exact contribution history, see the revision +# history and logs, available at http://trac.edgewall.org/.
svn commit: r1639823 [1/29] - in /bloodhound/branches/trac-1.0.2-integration/trac: ./ contrib/ contrib/cgi-bin/ contrib/workflow/ doc/ doc/dev/ doc/utils/ sample-plugins/ sample-plugins/permissions/ s
Author: rjollos Date: Sat Nov 15 01:14:46 2014 New Revision: 1639823 URL: http://svn.apache.org/r1639823 Log: Merged Trac 1.0.2 and resolved merge conflicts. Many tests are failing. Added: bloodhound/branches/trac-1.0.2-integration/trac/.travis.yml - copied unchanged from r1639805, bloodhound/vendor/trac/1.0.2/.travis.yml bloodhound/branches/trac-1.0.2-integration/trac/trac/tests/compat.py - copied unchanged from r1639805, bloodhound/vendor/trac/1.0.2/trac/tests/compat.py bloodhound/branches/trac-1.0.2-integration/trac/trac/ticket/templates/admin_components.html - copied unchanged from r1639805, bloodhound/vendor/trac/1.0.2/trac/ticket/templates/admin_components.html bloodhound/branches/trac-1.0.2-integration/trac/trac/ticket/templates/admin_enums.html - copied unchanged from r1639805, bloodhound/vendor/trac/1.0.2/trac/ticket/templates/admin_enums.html bloodhound/branches/trac-1.0.2-integration/trac/trac/ticket/templates/admin_milestones.html - copied unchanged from r1639805, bloodhound/vendor/trac/1.0.2/trac/ticket/templates/admin_milestones.html bloodhound/branches/trac-1.0.2-integration/trac/trac/ticket/templates/admin_versions.html - copied unchanged from r1639805, bloodhound/vendor/trac/1.0.2/trac/ticket/templates/admin_versions.html bloodhound/branches/trac-1.0.2-integration/trac/trac/timeline/tests/web_ui.py - copied unchanged from r1639805, bloodhound/vendor/trac/1.0.2/trac/timeline/tests/web_ui.py bloodhound/branches/trac-1.0.2-integration/trac/trac/timeline/tests/wikisyntax.py - copied unchanged from r1639805, bloodhound/vendor/trac/1.0.2/trac/timeline/tests/wikisyntax.py bloodhound/branches/trac-1.0.2-integration/trac/trac/util/tests/translation.py - copied unchanged from r1639805, bloodhound/vendor/trac/1.0.2/trac/util/tests/translation.py bloodhound/branches/trac-1.0.2-integration/trac/trac/versioncontrol/web_ui/tests/browser.py - copied unchanged from r1639805, bloodhound/vendor/trac/1.0.2/trac/versioncontrol/web_ui/tests/browser.py bloodhound/branches/trac-1.0.2-integration/trac/trac/versioncontrol/web_ui/tests/changeset.py - copied unchanged from r1639805, bloodhound/vendor/trac/1.0.2/trac/versioncontrol/web_ui/tests/changeset.py bloodhound/branches/trac-1.0.2-integration/trac/trac/versioncontrol/web_ui/tests/log.py - copied unchanged from r1639805, bloodhound/vendor/trac/1.0.2/trac/versioncontrol/web_ui/tests/log.py bloodhound/branches/trac-1.0.2-integration/trac/tracopt/ticket/tests/ - copied from r1639805, bloodhound/vendor/trac/1.0.2/tracopt/ticket/tests/ bloodhound/branches/trac-1.0.2-integration/trac/tracopt/versioncontrol/git/tests/git_fs.py - copied unchanged from r1639805, bloodhound/vendor/trac/1.0.2/tracopt/versioncontrol/git/tests/git_fs.py Removed: bloodhound/branches/trac-1.0.2-integration/trac/trac/admin/templates/admin_components.html bloodhound/branches/trac-1.0.2-integration/trac/trac/admin/templates/admin_enums.html bloodhound/branches/trac-1.0.2-integration/trac/trac/admin/templates/admin_milestones.html bloodhound/branches/trac-1.0.2-integration/trac/trac/admin/templates/admin_versions.html Modified: bloodhound/branches/trac-1.0.2-integration/trac/ (props changed) bloodhound/branches/trac-1.0.2-integration/trac/.gitignore bloodhound/branches/trac-1.0.2-integration/trac/.hgignore bloodhound/branches/trac-1.0.2-integration/trac/AUTHORS bloodhound/branches/trac-1.0.2-integration/trac/ChangeLog bloodhound/branches/trac-1.0.2-integration/trac/Makefile bloodhound/branches/trac-1.0.2-integration/trac/Makefile.cfg.sample bloodhound/branches/trac-1.0.2-integration/trac/THANKS bloodhound/branches/trac-1.0.2-integration/trac/contrib/bugzilla2trac.py bloodhound/branches/trac-1.0.2-integration/trac/contrib/cgi-bin/trac.cgi bloodhound/branches/trac-1.0.2-integration/trac/contrib/cgi-bin/trac.fcgi bloodhound/branches/trac-1.0.2-integration/trac/contrib/checkwiki.py bloodhound/branches/trac-1.0.2-integration/trac/contrib/emailfilter.py bloodhound/branches/trac-1.0.2-integration/trac/contrib/htdigest.py bloodhound/branches/trac-1.0.2-integration/trac/contrib/htpasswd.py bloodhound/branches/trac-1.0.2-integration/trac/contrib/l10n_diff_index.py bloodhound/branches/trac-1.0.2-integration/trac/contrib/l10n_reset_en_GB.py bloodhound/branches/trac-1.0.2-integration/trac/contrib/l10n_revert_lineno_conflicts.py bloodhound/branches/trac-1.0.2-integration/trac/contrib/migrateticketmodel.py bloodhound/branches/trac-1.0.2-integration/trac/contrib/sourceforge2trac.py bloodhound/branches/trac-1.0.2-integration/trac/contrib/trac-pre-commit-hook bloodhound/branches/trac-1.0.2-integration/trac/contrib/trac-svn-hook bloodhound/branches/trac-1.0.2-integration/trac/contrib/trac-svn-post-commit-hook.cmd bloodhound/branches
svn commit: r1639823 [6/29] - in /bloodhound/branches/trac-1.0.2-integration/trac: ./ contrib/ contrib/cgi-bin/ contrib/workflow/ doc/ doc/dev/ doc/utils/ sample-plugins/ sample-plugins/permissions/ s
Modified: bloodhound/branches/trac-1.0.2-integration/trac/trac/locale/ca/LC_MESSAGES/messages.po URL: http://svn.apache.org/viewvc/bloodhound/branches/trac-1.0.2-integration/trac/trac/locale/ca/LC_MESSAGES/messages.po?rev=1639823r1=1639822r2=1639823view=diff == --- bloodhound/branches/trac-1.0.2-integration/trac/trac/locale/ca/LC_MESSAGES/messages.po (original) +++ bloodhound/branches/trac-1.0.2-integration/trac/trac/locale/ca/LC_MESSAGES/messages.po Sat Nov 15 01:14:46 2014 @@ -1,35 +1,36 @@ # Catalan translation of Trac. -# Copyright © 2004, 2009, 2010, 2011 Edgewall Software. +# Copyright © 2004, 2009, 2010, 2011, 2013 Edgewall Software. # This file is distributed under the same license as the trac package. # Núria Montesinos, 2004. -# Jordi Mallach jo...@sindominio.net, 2004, 2009, 2010, 2011. +# Jordi Mallach jo...@sindominio.net, 2004, 2009, 2010, 2011, 2013. # msgid msgstr -Project-Id-Version: trac 0.12.3-dev\n +Project-Id-Version: trac 1.0-dev\n Report-Msgid-Bugs-To: trac-...@googlegroups.com\n -POT-Creation-Date: 2013-01-27 11:21+0900\n -PO-Revision-Date: 2011-11-17 11:12+0100\n +POT-Creation-Date: 2013-03-21 22:54+0100\n +PO-Revision-Date: 2013-04-25 17:37+0200\n Last-Translator: Jordi Mallach jo...@sindominio.net\n Language-Team: Catalan c...@dodds.net\n -Plural-Forms: nplurals=2; plural=n!=1\n +Language: ca\n MIME-Version: 1.0\n -Content-Type: text/plain; charset=utf-8\n +Content-Type: text/plain; charset=UTF-8\n Content-Transfer-Encoding: 8bit\n -Generated-By: Babel 0.9.6dev-r0\n +Plural-Forms: nplurals=2; plural=n!=1\n +Generated-By: Babel 0.9.6\n #: tracopt/mimeview/php.py:96 msgid -You appear to be using the PHP CGI binary. Trac requires the CLI version -for syntax highlighting. +You appear to be using the PHP CGI binary. Trac requires the CLI version for +syntax highlighting. msgstr -Sembla que esteu emprant el binari de PHP CGI. Trac requereix la versió -CLI per al ressaltat de sintaxi. +Sembla que esteu emprant el binari de PHP CGI. Trac requereix la versió CLI +per al ressaltat de sintaxi. #: tracopt/ticket/clone.py:49 #, python-format msgid %(summary)s (cloned) -msgstr +msgstr %(summary)s (clonat) #: tracopt/ticket/clone.py:53 #, python-format @@ -38,15 +39,17 @@ msgid \n %(description)s msgstr +Clonat des de #%(id)s:\n +\n +%(description)s #: tracopt/ticket/clone.py:60 -#, fuzzy msgid Clone -msgstr tancat +msgstr Clona #: tracopt/ticket/clone.py:61 msgid Create a copy of this ticket -msgstr +msgstr Crea una còpia d'aquest tiquet #: tracopt/ticket/commit_updater.py:275 msgid @@ -172,12 +175,12 @@ msgstr No s'ha pogut obrir el dipòsi #: tracopt/versioncontrol/svn/svn_fs.py:664 #, python-format msgid -Diff mismatch: Base is a %(oldnode)s (%(oldpath)s in revision %(oldrev)s) - and Target is a %(newnode)s (%(newpath)s in revision %(newrev)s). +Diff mismatch: Base is a %(oldnode)s (%(oldpath)s in revision %(oldrev)s) +and Target is a %(newnode)s (%(newpath)s in revision %(newrev)s). msgstr -Inconsistència al diff: La base és un %(oldnode)s (%(oldpath)s a la -revisió %(oldrev)s) i la destinació és %(newnode)s (%(newpath)s a la -revisió %(newrev)s). +Inconsistència al diff: La base és un %(oldnode)s (%(oldpath)s a la revisió +%(oldrev)s) i la destinació és %(newnode)s (%(newpath)s a la revisió +%(newrev)s). #: tracopt/versioncontrol/svn/svn_fs.py:823 #, python-format @@ -287,14 +290,14 @@ msgstr No s'ha pogut suprimir l'adjunt #, python-format msgid Cannot reparent attachment \%(att)s\ as %(realm)s:%(id)s is invalid msgstr -No es pot assignar un pare a l'adjunt «%(att)s» perquè %(realm)s:%(id)s -és invà lid +No es pot assignar un pare a l'adjunt «%(att)s» perquè %(realm)s:%(id)s és +invà lid #: trac/attachment.py:258 #, python-format msgid -Cannot reparent attachment \%(att)s\ as it already exists in -%(realm)s:%(id)s +Cannot reparent attachment \%(att)s\ as it already exists in %(realm)s: +%(id)s msgstr No es pot assignar un pare a l'adjunt «%(att)s» perquè ja existeix a %(realm)s:%(id)s @@ -377,20 +380,19 @@ msgid Invalid attachment: %(message)s msgstr L'adjunt és invà lid: %(message)s #: trac/attachment.py:745 -#, fuzzy msgid Note: File must be selected again. -msgstr No s'ha seleccionat cap fita +msgstr Nota: S'ha de tornar a seleccionar el fitxer. #: trac/attachment.py:758 #, python-format msgid -You don't have permission to replace the attachment %(name)s. You can -only replace your own attachments. Replacing other's attachments requires - ATTACHMENT_DELETE permission. -msgstr -No teniu permÃs per a reemplaçar l'adjunt %(name)s. Només podeu -reemplaçar els adjunts propis. Reemplaçar els adjunts d'altres requereix -permisos «ATTACHMENT_DELETE». +You don't have permission to replace the attachment %(name)s. You can only +replace your own attachments. Replacing
svn commit: r1639823 [12/29] - in /bloodhound/branches/trac-1.0.2-integration/trac: ./ contrib/ contrib/cgi-bin/ contrib/workflow/ doc/ doc/dev/ doc/utils/ sample-plugins/ sample-plugins/permissions/
Modified: bloodhound/branches/trac-1.0.2-integration/trac/trac/mimeview/tests/api.py URL: http://svn.apache.org/viewvc/bloodhound/branches/trac-1.0.2-integration/trac/trac/mimeview/tests/api.py?rev=1639823r1=1639822r2=1639823view=diff == --- bloodhound/branches/trac-1.0.2-integration/trac/trac/mimeview/tests/api.py (original) +++ bloodhound/branches/trac-1.0.2-integration/trac/trac/mimeview/tests/api.py Sat Nov 15 01:14:46 2014 @@ -1,6 +1,6 @@ # -*- coding: utf-8 -*- # -# Copyright (C)2006-2009 Edgewall Software +# Copyright (C) 2006-2013 Edgewall Software # All rights reserved. # # This software is licensed as described in the file COPYING, which @@ -14,8 +14,8 @@ import doctest import unittest from StringIO import StringIO -import sys +import trac.tests.compat from trac.core import * from trac.test import EnvironmentStub from trac.mimeview import api @@ -112,22 +112,22 @@ class GroupLinesTestCase(unittest.TestCa def test_text_only_stream(self): input = [(TEXT, test, (None, -1, -1))] lines = list(_group_lines(input)) -self.assertEquals(len(lines), 1) -self.assertTrue(isinstance(lines[0], Stream)) -self.assertEquals(lines[0].events, input) +self.assertEqual(len(lines), 1) +self.assertIsInstance(lines[0], Stream) +self.assertEqual(lines[0].events, input) def test_text_only_stream2(self): input = [(TEXT, test\n, (None, -1, -1))] lines = list(_group_lines(input)) -self.assertEquals(len(lines), 1) -self.assertTrue(isinstance(lines[0], Stream)) -self.assertEquals(lines[0].events, [(TEXT, test, (None, -1, -1))]) +self.assertEqual(len(lines), 1) +self.assertIsInstance(lines[0], Stream) +self.assertEqual(lines[0].events, [(TEXT, test, (None, -1, -1))]) def test_simplespan(self): input = HTMLParser(StringIO(uspantest/span), encoding=None) lines = list(_group_lines(input)) -self.assertEquals(len(lines), 1) -self.assertTrue(isinstance(lines[0], Stream)) +self.assertEqual(len(lines), 1) +self.assertIsInstance(lines[0], Stream) for (a, b) in zip(lines[0], input): self.assertEqual(a, b) @@ -137,17 +137,17 @@ class GroupLinesTestCase(unittest.TestCa input = [(TEXT, , (None, -1, -1))] lines = list(_group_lines(input)) -self.assertEquals(len(lines), 0) +self.assertEqual(len(lines), 0) def test_newline_stream(self): input = [(TEXT, \n, (None, -1, -1))] lines = list(_group_lines(input)) -self.assertEquals(len(lines), 1) +self.assertEqual(len(lines), 1) def test_newline_stream2(self): input = [(TEXT, \n\n\n, (None, -1, -1))] lines = list(_group_lines(input)) -self.assertEquals(len(lines), 3) +self.assertEqual(len(lines), 3) def test_empty_text_in_span(self): @@ -172,9 +172,9 @@ class GroupLinesTestCase(unittest.TestCa 'span class=cb/span', ] lines = list(_group_lines(input)) -self.assertEquals(len(lines), len(expected)) +self.assertEqual(len(lines), len(expected)) for a, b in zip(lines, expected): -self.assertEquals(a.render('html'), b) +self.assertEqual(a.render('html'), b) def test_newline2(self): @@ -187,9 +187,9 @@ class GroupLinesTestCase(unittest.TestCa 'span class=cb/span', ] lines = list(_group_lines(input)) -self.assertEquals(len(lines), len(expected)) +self.assertEqual(len(lines), len(expected)) for a, b in zip(lines, expected): -self.assertEquals(a.render('html'), b) +self.assertEqual(a.render('html'), b) def test_multinewline(self): @@ -203,17 +203,17 @@ class GroupLinesTestCase(unittest.TestCa 'span class=ca/span', ] lines = list(_group_lines(input)) -self.assertEquals(len(lines), len(expected)) +self.assertEqual(len(lines), len(expected)) for a, b in zip(lines, expected): -self.assertEquals(a.render('html'), b) +self.assertEqual(a.render('html'), b) def suite(): suite = unittest.TestSuite() suite.addTest(doctest.DocTestSuite(api)) -suite.addTest(unittest.makeSuite(GetMimeTypeTestCase, 'test')) -suite.addTest(unittest.makeSuite(MimeviewTestCase, 'test')) -suite.addTest(unittest.makeSuite(GroupLinesTestCase, 'test')) +suite.addTest(unittest.makeSuite(GetMimeTypeTestCase)) +suite.addTest(unittest.makeSuite(MimeviewTestCase)) +suite.addTest(unittest.makeSuite(GroupLinesTestCase)) return suite if __name__ == '__main__': Modified:
svn commit: r1639823 [13/29] - in /bloodhound/branches/trac-1.0.2-integration/trac: ./ contrib/ contrib/cgi-bin/ contrib/workflow/ doc/ doc/dev/ doc/utils/ sample-plugins/ sample-plugins/permissions/
Modified: bloodhound/branches/trac-1.0.2-integration/trac/trac/templates/list_of_attachments.html URL: http://svn.apache.org/viewvc/bloodhound/branches/trac-1.0.2-integration/trac/trac/templates/list_of_attachments.html?rev=1639823r1=1639822r2=1639823view=diff == --- bloodhound/branches/trac-1.0.2-integration/trac/trac/templates/list_of_attachments.html (original) +++ bloodhound/branches/trac-1.0.2-integration/trac/trac/templates/list_of_attachments.html Sat Nov 15 01:14:46 2014 @@ -1,4 +1,13 @@ -!--! +!--! Copyright (C) 2010-2014 Edgewall Software + + This software is licensed as described in the file COPYING, which + you should have received as part of this distribution. The terms + are also available at http://trac.edgewall.com/license.html. + + This software consists of voluntary contributions made by many + individuals. For the exact contribution history, see the revision + history and logs, available at http://trac.edgewall.org/. + Display a list of attachments. Arguments: Modified: bloodhound/branches/trac-1.0.2-integration/trac/trac/templates/macros.html URL: http://svn.apache.org/viewvc/bloodhound/branches/trac-1.0.2-integration/trac/trac/templates/macros.html?rev=1639823r1=1639822r2=1639823view=diff == --- bloodhound/branches/trac-1.0.2-integration/trac/trac/templates/macros.html (original) +++ bloodhound/branches/trac-1.0.2-integration/trac/trac/templates/macros.html Sat Nov 15 01:14:46 2014 @@ -1,3 +1,13 @@ +!--! Copyright (C) 2006-2014 Edgewall Software + + This software is licensed as described in the file COPYING, which + you should have received as part of this distribution. The terms + are also available at http://trac.edgewall.com/license.html. + + This software consists of voluntary contributions made by many + individuals. For the exact contribution history, see the revision + history and logs, available at http://trac.edgewall.org/. +-- div xmlns=http://www.w3.org/1999/xhtml; xmlns:py=http://genshi.edgewall.org/; xmlns:xi=http://www.w3.org/2001/XInclude; Modified: bloodhound/branches/trac-1.0.2-integration/trac/trac/templates/page_index.html URL: http://svn.apache.org/viewvc/bloodhound/branches/trac-1.0.2-integration/trac/trac/templates/page_index.html?rev=1639823r1=1639822r2=1639823view=diff == --- bloodhound/branches/trac-1.0.2-integration/trac/trac/templates/page_index.html (original) +++ bloodhound/branches/trac-1.0.2-integration/trac/trac/templates/page_index.html Sat Nov 15 01:14:46 2014 @@ -1,6 +1,17 @@ -!--! Display a page index. +!--! Copyright (C) 2008-2014 Edgewall Software - `paginator` must be a trac.util.presentation.Paginator instance + This software is licensed as described in the file COPYING, which + you should have received as part of this distribution. The terms + are also available at http://trac.edgewall.com/license.html. + + This software consists of voluntary contributions made by many + individuals. For the exact contribution history, see the revision + history and logs, available at http://trac.edgewall.org/. + +Display a page index. + +Arguments: + - `paginator` must be a trac.util.presentation.Paginator instance -- div xmlns=http://www.w3.org/1999/xhtml; Modified: bloodhound/branches/trac-1.0.2-integration/trac/trac/templates/preview_file.html URL: http://svn.apache.org/viewvc/bloodhound/branches/trac-1.0.2-integration/trac/trac/templates/preview_file.html?rev=1639823r1=1639822r2=1639823view=diff == --- bloodhound/branches/trac-1.0.2-integration/trac/trac/templates/preview_file.html (original) +++ bloodhound/branches/trac-1.0.2-integration/trac/trac/templates/preview_file.html Sat Nov 15 01:14:46 2014 @@ -1,4 +1,13 @@ -!--! +!--! Copyright (C) 2010-2014 Edgewall Software + + This software is licensed as described in the file COPYING, which + you should have received as part of this distribution. The terms + are also available at http://trac.edgewall.com/license.html. + + This software consists of voluntary contributions made by many + individuals. For the exact contribution history, see the revision + history and logs, available at http://trac.edgewall.org/. + Display a div for visualizing a preview of a file content. Arguments: Modified: bloodhound/branches/trac-1.0.2-integration/trac/trac/templates/progress_bar.html URL: http://svn.apache.org/viewvc/bloodhound/branches/trac-1.0.2-integration/trac/trac/templates/progress_bar.html?rev=1639823r1=1639822r2=1639823view=diff == --- bloodhound/branches/trac-1.0.2-integration/trac/trac/templates/progress_bar.html (original) +++
svn commit: r1639823 [11/29] - in /bloodhound/branches/trac-1.0.2-integration/trac: ./ contrib/ contrib/cgi-bin/ contrib/workflow/ doc/ doc/dev/ doc/utils/ sample-plugins/ sample-plugins/permissions/
Modified: bloodhound/branches/trac-1.0.2-integration/trac/trac/locale/nb/LC_MESSAGES/messages-js.po URL: http://svn.apache.org/viewvc/bloodhound/branches/trac-1.0.2-integration/trac/trac/locale/nb/LC_MESSAGES/messages-js.po?rev=1639823r1=1639822r2=1639823view=diff == --- bloodhound/branches/trac-1.0.2-integration/trac/trac/locale/nb/LC_MESSAGES/messages-js.po (original) +++ bloodhound/branches/trac-1.0.2-integration/trac/trac/locale/nb/LC_MESSAGES/messages-js.po Sat Nov 15 01:14:46 2014 @@ -15,7 +15,7 @@ msgstr MIME-Version: 1.0\n Content-Type: text/plain; charset=utf-8\n Content-Transfer-Encoding: 8bit\n -Generated-By: Babel 0.9.6dev-r0\n +Generated-By: Babel 0.9.6\n #: trac/htdocs/js/blame.js:84 msgid (no changeset information) Modified: bloodhound/branches/trac-1.0.2-integration/trac/trac/locale/nb/LC_MESSAGES/messages.po URL: http://svn.apache.org/viewvc/bloodhound/branches/trac-1.0.2-integration/trac/trac/locale/nb/LC_MESSAGES/messages.po?rev=1639823r1=1639822r2=1639823view=diff == --- bloodhound/branches/trac-1.0.2-integration/trac/trac/locale/nb/LC_MESSAGES/messages.po (original) +++ bloodhound/branches/trac-1.0.2-integration/trac/trac/locale/nb/LC_MESSAGES/messages.po Sat Nov 15 01:14:46 2014 @@ -15,7 +15,7 @@ msgstr MIME-Version: 1.0\n Content-Type: text/plain; charset=utf-8\n Content-Transfer-Encoding: 8bit\n -Generated-By: Babel 0.9.6dev-r0\n +Generated-By: Babel 0.9.6\n #: tracopt/mimeview/php.py:96 msgid @@ -7008,3 +7008,8 @@ msgstr (tom side) msgid The following pages have a name similar to this page, and may be related: msgstr Følgende sider har navn som ligner denne siden, og kan være relatert: +#~ msgid +#~ Copyright © 2003-2012\n +#~ [1:Edgewall Software] +#~ msgstr + Modified: bloodhound/branches/trac-1.0.2-integration/trac/trac/locale/nl/LC_MESSAGES/messages.po URL: http://svn.apache.org/viewvc/bloodhound/branches/trac-1.0.2-integration/trac/trac/locale/nl/LC_MESSAGES/messages.po?rev=1639823r1=1639822r2=1639823view=diff == --- bloodhound/branches/trac-1.0.2-integration/trac/trac/locale/nl/LC_MESSAGES/messages.po (original) +++ bloodhound/branches/trac-1.0.2-integration/trac/trac/locale/nl/LC_MESSAGES/messages.po Sat Nov 15 01:14:46 2014 @@ -11,7 +11,7 @@ msgid msgstr Project-Id-Version: Trac\n Report-Msgid-Bugs-To: http://trac.edgewall.org/\n; -POT-Creation-Date: 2012-10-29 19:08+0100\n +POT-Creation-Date: 2013-02-17 15:58+0100\n PO-Revision-Date: 2013-01-27 17:56+\n Last-Translator: Pander pan...@users.sourceforge.net\n Language-Team: Dutch @@ -764,7 +764,7 @@ msgid msgstr Welkom in trac-admin %(version)s\n Interactieve Trac-administratieomgeving.\n -Copyright (c) 2003-2010 Edgewall Software\n +Copyright (c) 2003-2013 Edgewall Software\n \n Type: '?' of 'help' voor hulp bij commandoâs.\n @@ -2162,7 +2162,7 @@ msgid Copyright © 2003-2013\n [1:Edgewall Software] msgstr -Copyright © 2003-2010\n +Copyright © 2003-2013\n [1:Edgewall Software] #: trac/templates/about.html:54 Modified: bloodhound/branches/trac-1.0.2-integration/trac/trac/locale/pl/LC_MESSAGES/messages.po URL: http://svn.apache.org/viewvc/bloodhound/branches/trac-1.0.2-integration/trac/trac/locale/pl/LC_MESSAGES/messages.po?rev=1639823r1=1639822r2=1639823view=diff == --- bloodhound/branches/trac-1.0.2-integration/trac/trac/locale/pl/LC_MESSAGES/messages.po (original) +++ bloodhound/branches/trac-1.0.2-integration/trac/trac/locale/pl/LC_MESSAGES/messages.po Sat Nov 15 01:14:46 2014 @@ -19,7 +19,7 @@ msgstr MIME-Version: 1.0\n Content-Type: text/plain; charset=utf-8\n Content-Transfer-Encoding: 8bit\n -Generated-By: Babel 0.9.6dev-r0\n +Generated-By: Babel 0.9.6\n #: tracopt/mimeview/php.py:96 msgid @@ -7042,3 +7042,8 @@ msgstr NastÄpujÄ ce strony majÄ nazwÄ podobnÄ do tej strony i mogÄ zostaÄ powiÄ zane: +#~ msgid +#~ Copyright © 2003-2012\n +#~ [1:Edgewall Software] +#~ msgstr + Modified: bloodhound/branches/trac-1.0.2-integration/trac/trac/locale/pt/LC_MESSAGES/messages.po URL: http://svn.apache.org/viewvc/bloodhound/branches/trac-1.0.2-integration/trac/trac/locale/pt/LC_MESSAGES/messages.po?rev=1639823r1=1639822r2=1639823view=diff == --- bloodhound/branches/trac-1.0.2-integration/trac/trac/locale/pt/LC_MESSAGES/messages.po (original) +++ bloodhound/branches/trac-1.0.2-integration/trac/trac/locale/pt/LC_MESSAGES/messages.po Sat Nov 15 01:14:46 2014 @@ -17,7 +17,7 @@ msgstr MIME-Version: 1.0\n Content-Type: text/plain; charset=utf-8\n Content-Transfer-Encoding: 8bit\n -Generated-By: Babel
svn commit: r1639823 [28/29] - in /bloodhound/branches/trac-1.0.2-integration/trac: ./ contrib/ contrib/cgi-bin/ contrib/workflow/ doc/ doc/dev/ doc/utils/ sample-plugins/ sample-plugins/permissions/
Modified: bloodhound/branches/trac-1.0.2-integration/trac/tracopt/versioncontrol/git/git_fs.py URL: http://svn.apache.org/viewvc/bloodhound/branches/trac-1.0.2-integration/trac/tracopt/versioncontrol/git/git_fs.py?rev=1639823r1=1639822r2=1639823view=diff == --- bloodhound/branches/trac-1.0.2-integration/trac/tracopt/versioncontrol/git/git_fs.py (original) +++ bloodhound/branches/trac-1.0.2-integration/trac/tracopt/versioncontrol/git/git_fs.py Sat Nov 15 01:14:46 2014 @@ -15,20 +15,25 @@ from __future__ import with_statement from datetime import datetime +import itertools import os import sys from genshi.builder import tag +from genshi.core import Markup +from trac.cache import cached from trac.config import BoolOption, IntOption, PathOption, Option from trac.core import * from trac.util import TracError, shorten_line from trac.util.datefmt import FixedOffset, to_timestamp, format_datetime -from trac.util.text import to_unicode +from trac.util.text import to_unicode, exception_to_unicode +from trac.util.translation import _ from trac.versioncontrol.api import Changeset, Node, Repository, \ IRepositoryConnector, NoSuchChangeset, \ NoSuchNode, IRepositoryProvider -from trac.versioncontrol.cache import CachedRepository, CachedChangeset +from trac.versioncontrol.cache import CACHE_YOUNGEST_REV, CachedRepository, \ + CachedChangeset from trac.versioncontrol.web_ui import IPropertyRenderer from trac.web.chrome import Chrome from trac.wiki import IWikiSyntaxProvider @@ -37,10 +42,7 @@ from tracopt.versioncontrol.git import P class GitCachedRepository(CachedRepository): -Git-specific cached repository. - -Passes through {display,short,normalize}_rev - +Git-specific cached repository. def display_rev(self, rev): return self.short_rev(rev) @@ -50,15 +52,113 @@ class GitCachedRepository(CachedReposito def normalize_rev(self, rev): if not rev: -return self.repos.get_youngest_rev() +return self.get_youngest_rev() normrev = self.repos.git.verifyrev(rev) if normrev is None: raise NoSuchChangeset(rev) return normrev +def get_youngest_rev(self): +# return None if repository is empty +return CachedRepository.get_youngest_rev(self) or None + +def child_revs(self, rev): +return self.repos.child_revs(rev) + +def get_changesets(self, start, stop): +for key, csets in itertools.groupby( +CachedRepository.get_changesets(self, start, stop), +key=lambda cset: cset.date): +csets = list(csets) +if len(csets) == 1: +yield csets[0] +continue +rev_csets = dict((cset.rev, cset) for cset in csets) +while rev_csets: +revs = [rev for rev in rev_csets +if not any(r in rev_csets + for r in self.repos.child_revs(rev))] +for rev in sorted(revs): +yield rev_csets.pop(rev) + def get_changeset(self, rev): return GitCachedChangeset(self, self.normalize_rev(rev), self.env) +def sync(self, feedback=None, clean=False): +if clean: +self.remove_cache() + +metadata = self.metadata +self.save_metadata(metadata) +meta_youngest = metadata.get(CACHE_YOUNGEST_REV) +repos = self.repos + +def is_synced(rev): +for count, in self.env.db_query( +SELECT COUNT(*) FROM revision WHERE repos=%s AND rev=%s +, (self.id, rev)): +return count 0 +return False + +def traverse(rev, seen, revs=None): +if revs is None: +revs = [] +while True: +if rev in seen: +return revs +seen.add(rev) +if is_synced(rev): +return revs +revs.append(rev) +parent_revs = repos.parent_revs(rev) +if not parent_revs: +return revs +if len(parent_revs) == 1: +rev = parent_revs[0] +continue +idx = len(revs) +traverse(parent_revs.pop(), seen, revs) +for parent in parent_revs: +revs[idx:idx] = traverse(parent, seen) + +while True: +repos.sync() +repos_youngest = repos.youngest_rev +updated = False +seen = set() + +for rev in repos.git.all_revs(): +if repos.child_revs(rev): +continue +revs = traverse(rev, seen) #
svn commit: r1639823 [3/29] - in /bloodhound/branches/trac-1.0.2-integration/trac: ./ contrib/ contrib/cgi-bin/ contrib/workflow/ doc/ doc/dev/ doc/utils/ sample-plugins/ sample-plugins/permissions/ s
Modified: bloodhound/branches/trac-1.0.2-integration/trac/trac/admin/tests/console.py URL: http://svn.apache.org/viewvc/bloodhound/branches/trac-1.0.2-integration/trac/trac/admin/tests/console.py?rev=1639823r1=1639822r2=1639823view=diff == --- bloodhound/branches/trac-1.0.2-integration/trac/trac/admin/tests/console.py (original) +++ bloodhound/branches/trac-1.0.2-integration/trac/trac/admin/tests/console.py Sat Nov 15 01:14:46 2014 @@ -1,6 +1,6 @@ # -*- coding: utf-8 -*- # -# Copyright (C) 2004-2009 Edgewall Software +# Copyright (C) 2004-2013 Edgewall Software # All rights reserved. # # This software is licensed as described in the file COPYING, which @@ -14,6 +14,7 @@ # Author: Tim Moloney t.molo...@verizon.net import difflib +import inspect import os import re import sys @@ -42,9 +43,14 @@ import trac.search.web_ui import trac.timeline.web_ui import trac.wiki.web_ui -from trac.admin import console, console_date_format +from trac.admin.api import AdminCommandManager, IAdminCommandProvider, \ + console_date_format, get_console_locale +from trac.admin.console import TracAdmin, TracAdminHelpMacro +from trac.core import Component, implements from trac.test import EnvironmentStub -from trac.util.datefmt import format_date, get_date_format_hint +from trac.util.datefmt import format_date, get_date_format_hint, \ + get_datetime_format_hint +from trac.util.translation import get_available_locales, has_babel from trac.web.tests.session import _prep_session_table STRIP_TRAILING_SPACE = re.compile(r'( +)$', re.MULTILINE) @@ -71,20 +77,50 @@ def load_expected_results(file, pattern) return expected +def execute_cmd(tracadmin, cmd, strip_trailing_space=True, input=None): +_in = sys.stdin +_err = sys.stderr +_out = sys.stdout +try: +if input: +sys.stdin = StringIO(input.encode('utf-8')) +sys.stdin.encoding = 'utf-8' # fake input encoding +sys.stderr = sys.stdout = out = StringIO() +out.encoding = 'utf-8' # fake output encoding +retval = None +try: +retval = tracadmin.onecmd(cmd) +except SystemExit: +pass +value = out.getvalue() +if isinstance(value, str): # reverse what print_listing did +value = value.decode('utf-8') +if strip_trailing_space: +return retval, STRIP_TRAILING_SPACE.sub('', value) +else: +return retval, value +finally: +sys.stdin = _in +sys.stderr = _err +sys.stdout = _out + + class TracadminTestCase(unittest.TestCase): Tests the output of trac-admin and is meant to be used with .../trac/tests.py. -expected_results = load_expected_results( -os.path.join(os.path.split(__file__)[0], 'console-tests.txt'), -'= (test_[^ ]+) =') +expected_results_file = os.path.join(os.path.dirname(__file__), + 'console-tests.txt') + +expected_results = load_expected_results(expected_results_file, + '= (test_[^ ]+) =') def setUp(self): self.env = EnvironmentStub(default_data=True, enable=('trac.*',), disable=('trac.tests.*',)) -self._admin = console.TracAdmin() +self._admin = TracAdmin() self._admin.env_set('', self.env) # Set test date to 11th Jan 2004 @@ -94,39 +130,32 @@ class TracadminTestCase(unittest.TestCas self.env = None def _execute(self, cmd, strip_trailing_space=True, input=None): -_in = sys.stdin -_err = sys.stderr -_out = sys.stdout -try: -if input: -sys.stdin = StringIO(input.encode('utf-8')) -sys.stdin.encoding = 'utf-8' # fake input encoding -sys.stderr = sys.stdout = out = StringIO() -out.encoding = 'utf-8' # fake output encoding -retval = None -try: -retval = self._admin.onecmd(cmd) -except SystemExit: -pass -value = out.getvalue() -if isinstance(value, str): # reverse what print_listing did -value = value.decode('utf-8') -# DEBUG: uncomment in case of `AssertionError: 0 != 2` in tests -#if retval != 0: -#print_err, value -if strip_trailing_space: -return retval, STRIP_TRAILING_SPACE.sub('', value) -else: -return retval, value -finally: -sys.stdin = _in -sys.stderr = _err -sys.stdout = _out - -def assertEqual(self, expected_results, output): -if not (isinstance(expected_results, basestring) and \ +return
svn commit: r1639823 [29/29] - in /bloodhound/branches/trac-1.0.2-integration/trac: ./ contrib/ contrib/cgi-bin/ contrib/workflow/ doc/ doc/dev/ doc/utils/ sample-plugins/ sample-plugins/permissions/
Modified: bloodhound/branches/trac-1.0.2-integration/trac/tracopt/versioncontrol/svn/tests/svnrepos.dump URL: http://svn.apache.org/viewvc/bloodhound/branches/trac-1.0.2-integration/trac/tracopt/versioncontrol/svn/tests/svnrepos.dump?rev=1639823r1=1639822r2=1639823view=diff == --- bloodhound/branches/trac-1.0.2-integration/trac/tracopt/versioncontrol/svn/tests/svnrepos.dump (original) +++ bloodhound/branches/trac-1.0.2-integration/trac/tracopt/versioncontrol/svn/tests/svnrepos.dump Sat Nov 15 01:14:46 2014 @@ -16,10 +16,6 @@ Revision-number: 1 Prop-content-length: 124 Content-length: 124 -K 7 -svn:log -V 25 -Initial directory layout. K 10 svn:author V 4 @@ -28,6 +24,10 @@ K 8 svn:date V 27 2005-04-01T10:00:52.353248Z +K 7 +svn:log +V 25 +Initial directory layout. PROPS-END Node-path: branches @@ -61,10 +61,6 @@ Revision-number: 2 Prop-content-length: 112 Content-length: 112 -K 7 -svn:log -V 13 -Added README. K 10 svn:author V 4 @@ -73,6 +69,10 @@ K 8 svn:date V 27 2005-04-01T13:12:18.216267Z +K 7 +svn:log +V 13 +Added README. PROPS-END Node-path: tête/README.txt @@ -92,11 +92,6 @@ Revision-number: 3 Prop-content-length: 113 Content-length: 113 -K 7 -svn:log -V 14 -Fixed README. - K 10 svn:author V 4 @@ -105,6 +100,11 @@ K 8 svn:date V 27 2005-04-01T13:24:58.234643Z +K 7 +svn:log +V 14 +Fixed README. + PROPS-END Node-path: tête/README.txt @@ -117,13 +117,13 @@ Text-content-sha1: 6aade8dde7d1b86b451b5 Content-length: 83 K 13 -svn:mime-type -V 10 -text/plain -K 13 svn:eol-style V 6 native +K 13 +svn:mime-type +V 10 +text/plain PROPS-END A test. @@ -132,10 +132,6 @@ Revision-number: 4 Prop-content-length: 116 Content-length: 116 -K 7 -svn:log -V 17 -More directories. K 10 svn:author V 4 @@ -144,6 +140,10 @@ K 8 svn:date V 27 2005-04-01T15:42:35.450595Z +K 7 +svn:log +V 17 +More directories. PROPS-END Node-path: tête/dir1 @@ -177,10 +177,6 @@ Revision-number: 5 Prop-content-length: 117 Content-length: 117 -K 7 -svn:log -V 18 -Moved directories. K 10 svn:author V 4 @@ -189,6 +185,10 @@ K 8 svn:date V 27 2005-04-01T16:25:39.658099Z +K 7 +svn:log +V 18 +Moved directories. PROPS-END Node-path: tête/dir1/dir2 @@ -217,10 +217,6 @@ Revision-number: 6 Prop-content-length: 118 Content-length: 118 -K 7 -svn:log -V 19 -More things to read K 10 svn:author V 4 @@ -229,6 +225,10 @@ K 8 svn:date V 27 2005-04-01T18:56:46.985846Z +K 7 +svn:log +V 19 +More things to read PROPS-END Node-path: tête/README2.txt @@ -244,10 +244,6 @@ Revision-number: 7 Prop-content-length: 151 Content-length: 151 -K 7 -svn:log -V 42 -test the tag operation (copy of directory) K 10 svn:author V 13 @@ -256,6 +252,10 @@ K 8 svn:date V 27 2005-04-14T15:06:20.717616Z +K 7 +svn:log +V 42 +test the tag operation (copy of directory) PROPS-END Node-path: tags/v1 @@ -269,10 +269,6 @@ Revision-number: 8 Prop-content-length: 124 Content-length: 124 -K 7 -svn:log -V 15 -Fix stuff in v1 K 10 svn:author V 13 @@ -281,6 +277,10 @@ K 8 svn:date V 27 2005-04-22T08:57:33.499643Z +K 7 +svn:log +V 15 +Fix stuff in v1 PROPS-END Node-path: branches/v1x @@ -294,10 +294,6 @@ Revision-number: 9 Prop-content-length: 127 Content-length: 127 -K 7 -svn:log -V 18 -Now that's the fix K 10 svn:author V 13 @@ -306,6 +302,10 @@ K 8 svn:date V 27 2005-04-22T08:59:24.308979Z +K 7 +svn:log +V 18 +Now that's the fix PROPS-END Node-path: branches/v1x/README.txt @@ -323,10 +323,6 @@ Revision-number: 10 Prop-content-length: 141 Content-length: 141 -K 7 -svn:log -V 32 -Tagging v1.1 from the fix branch K 10 svn:author V 13 @@ -335,6 +331,10 @@ K 8 svn:date V 27 2005-04-22T09:00:34.549980Z +K 7 +svn:log +V 32 +Tagging v1.1 from the fix branch PROPS-END Node-path: tags/v1.1 @@ -348,10 +348,6 @@ Revision-number: 11 Prop-content-length: 191 Content-length: 191 -K 7 -svn:log -V 82 -''(a few months later)'' We don't need the fix branch anymore, 1.1 is super-stable K 10 svn:author V 13 @@ -360,6 +356,10 @@ K 8 svn:date V 27 2005-04-22T09:01:38.361737Z +K 7 +svn:log +V 82 +''(a few months later)'' We don't need the fix branch anymore, 1.1 is super-stable PROPS-END Node-path: branches/v1x @@ -370,10 +370,6 @@ Revision-number: 12 Prop-content-length: 166 Content-length: 166 -K 7 -svn:log -V 57 -''(a few years later)'' Argh... v1.1 was buggy, after all K 10 svn:author V 13 @@ -382,6 +378,10 @@ K 8 svn:date V 27 2005-04-22T09:06:37.011174Z +K 7 +svn:log +V 57 +''(a few years later)'' Argh... v1.1 was buggy, after all PROPS-END Node-path: branches/v1x @@ -395,10 +395,6 @@ Revision-number: 13 Prop-content-length: 143 Content-length: 143 -K 7 -svn:log -V 43 -Setting property on the repository_dir root K 10 svn:author V 5 @@ -407,6 +403,10 @@ K 8 svn:date V 27 2005-11-17T15:13:16.197772Z +K 7 +svn:log +V 43 +Setting property on the
svn commit: r1639823 [21/29] - in /bloodhound/branches/trac-1.0.2-integration/trac: ./ contrib/ contrib/cgi-bin/ contrib/workflow/ doc/ doc/dev/ doc/utils/ sample-plugins/ sample-plugins/permissions/
Modified: bloodhound/branches/trac-1.0.2-integration/trac/trac/util/tests/datefmt.py URL: http://svn.apache.org/viewvc/bloodhound/branches/trac-1.0.2-integration/trac/trac/util/tests/datefmt.py?rev=1639823r1=1639822r2=1639823view=diff == --- bloodhound/branches/trac-1.0.2-integration/trac/trac/util/tests/datefmt.py (original) +++ bloodhound/branches/trac-1.0.2-integration/trac/trac/util/tests/datefmt.py Sat Nov 15 01:14:46 2014 @@ -1,6 +1,6 @@ # -*- coding: utf-8 -*- # -# Copyright (C) 2007-2009 Edgewall Software +# Copyright (C) 2007-2013 Edgewall Software # Copyright (C) 2007 Matt Good t...@matt-good.net # All rights reserved. # @@ -15,23 +15,21 @@ # Author: Matt Good t...@matt-good.net import datetime +import locale import os import time import unittest +import trac.tests.compat from trac.core import TracError -from trac.util import datefmt, translation +from trac.util import datefmt try: -import pytz -except ImportError: -pytz = None -try: from babel import Locale except ImportError: Locale = None -if pytz is None: +if datefmt.pytz is None: PytzTestCase = None else: class PytzTestCase(unittest.TestCase): @@ -99,19 +97,6 @@ else: dt = datefmt.to_datetime(t, tz) self.assertEqual(datetime.timedelta(0, 7200), dt.utcoffset()) -def test_parse_date_across_dst_boundary(self): -tz = datefmt.get_timezone('Europe/Zurich') -# DST start - 31 March, 02:00 -format = '%Y-%m-%d %H:%M:%S %Z%z' -expected = '2002-03-31 03:30:00 CEST+0200' -# iso8601 -t = datefmt.parse_date('2002-03-31T02:30:00', tz) -self.assertEqual(expected, t.strftime(format)) -# strptime -t = datetime.datetime(2002, 3, 31, 2, 30) -t = datefmt.parse_date(t.strftime('%x %X'), tz) -self.assertEqual(expected, t.strftime(format)) - def test_to_datetime_astimezone(self): tz = datefmt.get_timezone('Europe/Paris') t = datetime.datetime(2012, 3, 25, 2, 15, tzinfo=datefmt.utc) @@ -121,11 +106,11 @@ else: def test_to_datetime_tz_from_naive_datetime_is_localtz(self): t = datetime.datetime(2012, 3, 25, 2, 15) dt = datefmt.to_datetime(t) -self.assert_(isinstance(dt.tzinfo, datefmt.LocalTimezone)) +self.assertIsInstance(dt.tzinfo, datefmt.LocalTimezone) def test_to_datetime_tz_from_now_is_localtz(self): dt = datefmt.to_datetime(None) -self.assert_(isinstance(dt.tzinfo, datefmt.LocalTimezone)) +self.assertIsInstance(dt.tzinfo, datefmt.LocalTimezone) class ParseISO8601TestCase(unittest.TestCase): @@ -205,7 +190,7 @@ class ParseISO8601TestCase(unittest.Test t = datetime.datetime(2012, 10, 11, 2, 40, 57, 0, datefmt.localtz) dt = datefmt.parse_date('2012-10-11T02:40:57') self.assertEqual(t, dt) -self.assert_(isinstance(dt.tzinfo, datefmt.LocalTimezone)) +self.assertIsInstance(dt.tzinfo, datefmt.LocalTimezone) def test_iso8601_naive_tz_used_tzinfo_arg(self): tz = datefmt.timezone('GMT +1:00') @@ -221,7 +206,7 @@ class ParseISO8601TestCase(unittest.Test self.assertEqual(datetime.timedelta(hours=-9, minutes=-30), dt.utcoffset()) -if pytz: +if datefmt.pytz: def test_iso8601_naive_tz_normalize_non_existent_time(self): t = datetime.datetime(2012, 3, 25, 1, 15, 57, 0, datefmt.utc) tz = datefmt.timezone('Europe/Paris') @@ -238,6 +223,128 @@ class ParseISO8601TestCase(unittest.Test self.assertEqual(2, dt.hour) self.assertEqual(datetime.timedelta(hours=1), dt.utcoffset()) +def test_hint_iso8601(self): +def validate(locale=None): +try: +datefmt.parse_date('2001-0a-01', locale=locale, hint='iso8601') +raise self.failureException('TracError not raised') +except TracError, e: +self.assertIn(u'-MM-DDThh:mm:ss±hh:mm', unicode(e)) + +validate(locale=None) +validate(locale='iso8601') +if Locale: +validate(locale=Locale.parse('en_US')) + + +class ParseDateWithoutBabelTestCase(unittest.TestCase): + +if os.name != 'nt': +locales = {} +else: +# LCID: http://msdn.microsoft.com/en-us/goglobal/bb964664.aspx +# NLS: http://msdn.microsoft.com/en-us/goglobal/bb896001.aspx +ref_time = time.gmtime(123456) +locales = { +'en_US.UTF8': ('English_United States', '1/2/1970 10:17:36 AM'), +'en_GB.UTF8': ('English_United Kingdom', '02/01/1970 10:17:36'), +'fr_FR.UTF8': ('French_France', '02/01/1970 10:17:36'), +'ja_JP.UTF8': ('Japanese_Japan', '1970/01/02 10:17:36'), +
svn commit: r1639823 [22/29] - in /bloodhound/branches/trac-1.0.2-integration/trac: ./ contrib/ contrib/cgi-bin/ contrib/workflow/ doc/ doc/dev/ doc/utils/ sample-plugins/ sample-plugins/permissions/
Modified: bloodhound/branches/trac-1.0.2-integration/trac/trac/versioncontrol/cache.py URL: http://svn.apache.org/viewvc/bloodhound/branches/trac-1.0.2-integration/trac/trac/versioncontrol/cache.py?rev=1639823r1=1639822r2=1639823view=diff == --- bloodhound/branches/trac-1.0.2-integration/trac/trac/versioncontrol/cache.py (original) +++ bloodhound/branches/trac-1.0.2-integration/trac/trac/versioncontrol/cache.py Sat Nov 15 01:14:46 2014 @@ -101,7 +101,7 @@ class CachedRepository(Repository): , (to_utimestamp(cset.date), cset.author, cset.message, self.id, srev)) else: -self._insert_changeset(db, rev, cset) +self._insert_changeset(db, cset.rev, cset) return old_cset @cached('_metadata_id') @@ -115,62 +115,10 @@ class CachedRepository(Repository): def sync(self, feedback=None, clean=False): if clean: -self.log.info(Cleaning cache) -with self.env.db_transaction as db: -db(DELETE FROM revision WHERE repos=%s, - (self.id,)) -db(DELETE FROM node_change WHERE repos=%s, - (self.id,)) -db.executemany(DELETE FROM repository WHERE id=%s AND name=%s, - [(self.id, k) for k in CACHE_METADATA_KEYS]) -db.executemany( - INSERT INTO repository (id, name, value) - VALUES (%s, %s, %s) - , [(self.id, k, '') for k in CACHE_METADATA_KEYS]) -del self.metadata +self.remove_cache() metadata = self.metadata - -with self.env.db_transaction as db: -invalidate = False - -# -- check that we're populating the cache for the correct -#repository -repository_dir = metadata.get(CACHE_REPOSITORY_DIR) -if repository_dir: -# directory part of the repo name can vary on case insensitive -# fs -if os.path.normcase(repository_dir) \ -!= os.path.normcase(self.name): -self.log.info('repository_dir' has changed from %r to %r, - repository_dir, self.name) -raise TracError(_(The repository directory has changed, - you should resynchronize the - repository with: trac-admin $ENV - repository resync '%(reponame)s', - reponame=self.reponame or '(default)')) -elif repository_dir is None: # -self.log.info('Storing initial repository_dir: %s', - self.name) -db(INSERT INTO repository (id, name, value) - VALUES (%s, %s, %s) - , (self.id, CACHE_REPOSITORY_DIR, self.name)) -invalidate = True -else: # 'repository_dir' cleared by a resync -self.log.info('Resetting repository_dir: %s', self.name) -db(UPDATE repository SET value=%s WHERE id=%s AND name=%s, - (self.name, self.id, CACHE_REPOSITORY_DIR)) -invalidate = True - -# -- insert a 'youngeset_rev' for the repository if necessary -if metadata.get(CACHE_YOUNGEST_REV) is None: -db(INSERT INTO repository (id, name, value) - VALUES (%s, %s, %s) - , (self.id, CACHE_YOUNGEST_REV, '')) -invalidate = True - -if invalidate: -del self.metadata +self.save_metadata(metadata) # -- retrieve the youngest revision in the repository and the youngest #revision cached so far @@ -263,6 +211,65 @@ class CachedRepository(Repository): if feedback: feedback(youngest) +def remove_cache(self): +Remove the repository cache. +self.log.info(Cleaning cache) +with self.env.db_transaction as db: +db(DELETE FROM revision WHERE repos=%s, + (self.id,)) +db(DELETE FROM node_change WHERE repos=%s, + (self.id,)) +db.executemany(DELETE FROM repository WHERE id=%s AND name=%s, + [(self.id, k) for k in CACHE_METADATA_KEYS]) +db.executemany( + INSERT INTO repository (id, name, value) + VALUES (%s, %s, %s) + , [(self.id, k, '') for k in CACHE_METADATA_KEYS]) +del self.metadata + +def save_metadata(self, metadata): +Save the repository metadata. +with self.env.db_transaction as db: +invalidate = False + +#
svn commit: r1639823 [10/29] - in /bloodhound/branches/trac-1.0.2-integration/trac: ./ contrib/ contrib/cgi-bin/ contrib/workflow/ doc/ doc/dev/ doc/utils/ sample-plugins/ sample-plugins/permissions/
Modified: bloodhound/branches/trac-1.0.2-integration/trac/trac/locale/messages.pot URL: http://svn.apache.org/viewvc/bloodhound/branches/trac-1.0.2-integration/trac/trac/locale/messages.pot?rev=1639823r1=1639822r2=1639823view=diff == --- bloodhound/branches/trac-1.0.2-integration/trac/trac/locale/messages.pot (original) +++ bloodhound/branches/trac-1.0.2-integration/trac/trac/locale/messages.pot Sat Nov 15 01:14:46 2014 @@ -1,14 +1,14 @@ # Translations template for Trac. -# Copyright (C) 2013 Edgewall Software +# Copyright (C) 2014 Edgewall Software # This file is distributed under the same license as the Trac project. -# FIRST AUTHOR EMAIL@ADDRESS, 2013. +# FIRST AUTHOR EMAIL@ADDRESS, 2014. # #, fuzzy msgid msgstr -Project-Id-Version: Trac 1.0.1\n +Project-Id-Version: Trac 1.0.2\n Report-Msgid-Bugs-To: trac-...@googlegroups.com\n -POT-Creation-Date: 2013-01-27 11:21+0900\n +POT-Creation-Date: 2014-09-01 12:43+\n PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n Last-Translator: FULL NAME EMAIL@ADDRESS\n Language-Team: LANGUAGE l...@li.org\n @@ -44,7 +44,7 @@ msgstr msgid Create a copy of this ticket msgstr -#: tracopt/ticket/commit_updater.py:275 +#: tracopt/ticket/commit_updater.py:283 msgid Insert a changeset message into the output.\n \n @@ -59,12 +59,16 @@ msgid - `revision`: the revision of the desired changeset msgstr +#: tracopt/ticket/commit_updater.py:313 +msgid (The changeset message doesn't reference this ticket) +msgstr + #: tracopt/ticket/deleter.py:73 tracopt/ticket/deleter.py:90 -#: trac/ticket/templates/report_list.html:82 +#: trac/ticket/templates/report_list.html:92 msgid Delete msgstr -#: tracopt/ticket/deleter.py:74 tracopt/ticket/templates/ticket_delete.html:42 +#: tracopt/ticket/deleter.py:74 tracopt/ticket/templates/ticket_delete.html:51 msgid Delete ticket msgstr @@ -88,89 +92,112 @@ msgstr msgid Comment %(num)s not found msgstr -#: tracopt/ticket/templates/ticket_delete.html:11 +#: tracopt/ticket/templates/ticket_delete.html:21 #, python-format msgid Delete Ticket #%(id)s msgstr -#: tracopt/ticket/templates/ticket_delete.html:12 -#: tracopt/ticket/templates/ticket_delete.html:48 +#: tracopt/ticket/templates/ticket_delete.html:22 +#: tracopt/ticket/templates/ticket_delete.html:58 #, python-format msgid Delete comment %(num)s on Ticket #%(id)s msgstr -#: tracopt/ticket/templates/ticket_delete.html:20 +#: tracopt/ticket/templates/ticket_delete.html:30 #, python-format msgid Delete [1:Ticket #%(id)s] msgstr -#: tracopt/ticket/templates/ticket_delete.html:32 +#: tracopt/ticket/templates/ticket_delete.html:42 msgid Are you sure you want to delete this ticket? msgstr -#: tracopt/ticket/templates/ticket_delete.html:33 +#: tracopt/ticket/templates/ticket_delete.html:43 #, python-format msgid (comments: %(comments)s,\n attachments: %(attachments)s) msgstr -#: tracopt/ticket/templates/ticket_delete.html:36 -#: tracopt/ticket/templates/ticket_delete.html:61 -#: trac/templates/attachment.html:70 trac/wiki/templates/wiki_delete.html:95 +#: tracopt/ticket/templates/ticket_delete.html:46 +#: tracopt/ticket/templates/ticket_delete.html:71 +#: trac/templates/attachment.html:80 trac/wiki/templates/wiki_delete.html:105 msgid This is an irreversible operation. msgstr -#: tracopt/ticket/templates/ticket_delete.html:41 -#: tracopt/ticket/templates/ticket_delete.html:65 -#: trac/admin/templates/admin_components.html:55 -#: trac/admin/templates/admin_enums.html:24 -#: trac/admin/templates/admin_milestones.html:74 -#: trac/admin/templates/admin_versions.html:50 -#: trac/templates/attachment.html:63 trac/templates/attachment.html:76 -#: trac/ticket/templates/milestone_delete.html:40 -#: trac/ticket/templates/milestone_edit.html:108 -#: trac/ticket/templates/report_delete.html:21 -#: trac/ticket/templates/report_edit.html:44 -#: trac/ticket/templates/ticket_change.html:118 -#: trac/versioncontrol/templates/admin_repositories.html:84 -#: trac/wiki/templates/wiki_delete.html:98 -#: trac/wiki/templates/wiki_edit_form.html:73 -#: trac/wiki/templates/wiki_rename.html:32 +#: tracopt/ticket/templates/ticket_delete.html:52 +#: tracopt/ticket/templates/ticket_delete.html:76 +#: trac/templates/attachment.html:73 trac/templates/attachment.html:87 +#: trac/ticket/templates/admin_components.html:64 +#: trac/ticket/templates/admin_enums.html:38 +#: trac/ticket/templates/admin_milestones.html:93 +#: trac/ticket/templates/admin_versions.html:61 +#: trac/ticket/templates/milestone_delete.html:45 +#: trac/ticket/templates/milestone_edit.html:128 +#: trac/ticket/templates/report_delete.html:32 +#: trac/ticket/templates/report_edit.html:62 +#: trac/ticket/templates/ticket_change.html:127 +#: trac/versioncontrol/templates/admin_repositories.html:98 +#: trac/wiki/templates/wiki_delete.html:112 +#: trac/wiki/templates/wiki_edit_form.html:84 +#:
svn commit: r1639823 [25/29] - in /bloodhound/branches/trac-1.0.2-integration/trac: ./ contrib/ contrib/cgi-bin/ contrib/workflow/ doc/ doc/dev/ doc/utils/ sample-plugins/ sample-plugins/permissions/
Modified: bloodhound/branches/trac-1.0.2-integration/trac/trac/wiki/default-pages/TracInstall URL: http://svn.apache.org/viewvc/bloodhound/branches/trac-1.0.2-integration/trac/trac/wiki/default-pages/TracInstall?rev=1639823r1=1639822r2=1639823view=diff == --- bloodhound/branches/trac-1.0.2-integration/trac/trac/wiki/default-pages/TracInstall (original) +++ bloodhound/branches/trac-1.0.2-integration/trac/trac/wiki/default-pages/TracInstall Sat Nov 15 01:14:46 2014 @@ -1,24 +1,30 @@ -= Trac Installation Guide for 1.0 = +{{{#!div style=margin-top: .5em; padding: 0 1em; background-color: #ffd; border:1px outset #ddc; text-align: center + + '''NOTE: the information in this page applies to Trac 1.0, the current version of Trac. \\ + For installing previous Trac versions, please refer to [[wiki:0.12/TracInstall]] (for Trac 0.12)''' +}}} + += Trac Installation Guide for 1.0 [[TracGuideToc]] Trac is written in the Python programming language and needs a database, [http://sqlite.org/ SQLite], [http://www.postgresql.org/ PostgreSQL], or [http://mysql.com/ MySQL]. For HTML rendering, Trac uses the [http://genshi.edgewall.org Genshi] templating system. -Since version 0.12, Trac can also be localized, and there's probably a translation available for your language. If you want to be able to use the Trac interface in other languages, then make sure you have installed the optional package [#OtherPythonPackages Babel]. Pay attention to the extra steps for localization support in the [#InstallingTrac Installing Trac] section below. Lacking Babel, you will only get the default english version, as usual. +Since version 0.12, Trac can also be localized, and there's probably a translation available for your language. If you want to be able to use the Trac interface in other languages, then make sure you have installed the optional package [#OtherPythonPackages Babel]. Pay attention to the extra steps for localization support in the [#InstallingTrac Installing Trac] section below. Lacking Babel, you will only get the default English version, as usual. -If you're interested in contributing new translations for other languages or enhance the existing translations, then please have a look at [[trac:TracL10N]]. +If you're interested in contributing new translations for other languages or enhance the existing translations, then please have a look at [trac:wiki:TracL10N TracL10N]. What follows are generic instructions for installing and setting up Trac and its requirements. While you may find instructions for installing Trac on specific systems at [trac:TracInstallPlatforms TracInstallPlatforms] on the main Trac site, please be sure to '''first read through these general instructions''' to get a good understanding of the tasks involved. [[PageOutline(2-3,Installation Steps,inline)]] -== Dependencies == +== Dependencies === Mandatory Dependencies To install Trac, the following software packages must be installed: * [http://www.python.org/ Python], version = 2.5 and 3.0 (note that we dropped the support for Python 2.4 in this release) - * [http://peak.telecommunity.com/DevCenter/setuptools setuptools], version = 0.6, or better yet, [http://pypi.python.org/pypi/distribute distribute] - * [http://genshi.edgewall.org/wiki/Download Genshi], version = 0.6 (unreleased version 0.7dev should work as well) + * [http://peak.telecommunity.com/DevCenter/setuptools setuptools], version = 0.6 + * [http://genshi.edgewall.org/wiki/Download Genshi], version = 0.6 You also need a database system and the corresponding python bindings. The database can be either SQLite, PostgreSQL or MySQL. @@ -27,10 +33,10 @@ The database can be either SQLite, Postg As you must be using Python 2.5, 2.6 or 2.7, you already have the SQLite database bindings bundled with the standard distribution of Python (the `sqlite3` module). -However, if you'd like, you can download the latest and greatest version of [[trac:Pysqlite]] from +However, if you'd like, you can download the latest and greatest version of [[trac:PySqlite]] from [http://code.google.com/p/pysqlite/downloads/list google code], where you'll find the Windows installers or the `tar.gz` archive for building from source: -{{{ +{{{#!sh $ tar xvfz version.tar.gz $ cd version $ python setup.py build_static install @@ -40,7 +46,7 @@ This will download the latest SQLite cod SQLite 2.x is no longer supported. -A known bug PySqlite versions 2.5.2-4 prohibits upgrade of trac databases +A known bug in PySqlite versions 2.5.2-4 prohibits upgrades of Trac databases from 0.11.x to 0.12. Please use versions 2.5.5 and newer or 2.5.1 and older. See #9434 for more detail. @@ -50,7 +56,7 @@ See additional information in [trac:PySq You need to install the database and its Python bindings: * [http://www.postgresql.org/ PostgreSQL], version 8.0 or later - *
svn commit: r1639823 [27/29] - in /bloodhound/branches/trac-1.0.2-integration/trac: ./ contrib/ contrib/cgi-bin/ contrib/workflow/ doc/ doc/dev/ doc/utils/ sample-plugins/ sample-plugins/permissions/
Modified: bloodhound/branches/trac-1.0.2-integration/trac/trac/wiki/tests/macros.py URL: http://svn.apache.org/viewvc/bloodhound/branches/trac-1.0.2-integration/trac/trac/wiki/tests/macros.py?rev=1639823r1=1639822r2=1639823view=diff == --- bloodhound/branches/trac-1.0.2-integration/trac/trac/wiki/tests/macros.py (original) +++ bloodhound/branches/trac-1.0.2-integration/trac/trac/wiki/tests/macros.py Sat Nov 15 01:14:46 2014 @@ -1,15 +1,54 @@ # -*- coding: utf-8 -*- +# +# Copyright (C) 2006-2013 Edgewall Software +# All rights reserved. +# +# This software is licensed as described in the file COPYING, which +# you should have received as part of this distribution. The terms +# are also available at http://trac.edgewall.org/wiki/TracLicense. +# +# This software consists of voluntary contributions made by many +# individuals. For the exact contribution history, see the revision +# history and logs, available at http://trac.edgewall.org/log/. + +from StringIO import StringIO from datetime import datetime +import os +import shutil +import tempfile import unittest -from trac.config import Option +from trac.config import Option, ListOption, IntOption, BoolOption from trac.test import locale_en from trac.util.datefmt import format_date, utc from trac.wiki.model import WikiPage from trac.wiki.tests import formatter + +def add_pages(tc, names): +now = datetime.now(utc) +for name in names: +w = WikiPage(tc.env) +w.name = name +w.text = '--' +w.save('joe', 'the page ' + name, '::1', now) + + # == [[Image]] +def image_setup(tc): +add_pages(tc, ['page:fr']) +from trac.attachment import Attachment +tc.env.path = tempfile.mkdtemp(prefix='trac-tempenv-') +attachment = Attachment(tc.env, 'wiki', 'page:fr') +attachment.description = image in page:fr +attachment.insert('img.png', StringIO(''), 0, 2) + +def image_teardown(tc): +shutil.rmtree(os.path.join(tc.env.path, 'files')) +os.rmdir(tc.env.path) +tc.env.reset_db() + # Note: using `« test »` string in the following tests for checking # unicode robustness and whitespace support (first space is # normal ASCII SPACE, second is Unicode NO-BREAK SPACE). @@ -91,13 +130,39 @@ IMAGE_MACRO_TEST_CASES = u -- a style=padding:0; border:none href=/wiki/WikiStartimg src=/browser/%C2%AB%20test%C2%A0%C2%BB?format=raw alt=/browser/« test » title=/browser/« test » //a == Strip unicode white-spaces and ZWSPs (#10668) -[[Image(â âsource:« test ».pngã â, nolink)]] +[[Image(â âsource:« test ».pngã â, nolink, 100%ã â)]] -- p -img src=/browser/%C2%AB%20test%C2%A0%C2%BB.png?format=raw alt=source:« test ».png title=source:« test ».png / +img width=100% alt=source:« test ».png title=source:« test ».png src=/browser/%C2%AB%20test%C2%A0%C2%BB.png?format=raw / /p -- -img src=/browser/%C2%AB%20test%C2%A0%C2%BB.png?format=raw alt=source:« test ».png title=source:« test ».png / +img width=100% alt=source:« test ».png title=source:« test ».png src=/browser/%C2%AB%20test%C2%A0%C2%BB.png?format=raw / +-- +== Attachments on page with ':' characters (#10562) +[[Image(page:fr:img.pngâ,nolink)]] +-- +p +img src=/raw-attachment/wiki/page%3Afr/img.png alt=image in page:fr title=image in page:fr / +/p +-- +img src=/raw-attachment/wiki/page%3Afr/img.png alt=image in page:fr title=image in page:fr / +-- +== htdocs: Image, nolink +[[Image(htdocs:trac_logo.png, nolink)]] +-- +p +img src=/chrome/site/trac_logo.png alt=trac_logo.png title=trac_logo.png / +/p +-- +img src=/chrome/site/trac_logo.png alt=trac_logo.png title=trac_logo.png / +== shared: Image, nolink +[[Image(shared:trac_logo.png, nolink)]] +-- +p +img src=/chrome/shared/trac_logo.png alt=trac_logo.png title=trac_logo.png / +/p +-- +img src=/chrome/shared/trac_logo.png alt=trac_logo.png title=trac_logo.png / -- @@ -110,14 +175,6 @@ IMAGE_MACRO_TEST_CASES = u # == [[TitleIndex]] -def add_pages(tc, names): -now = datetime.now(utc) -for name in names: -w = WikiPage(tc.env) -w.name = name -w.text = '--' -w.save('joe', 'the page ' + name, '::1', now) - def titleindex_teardown(tc): tc.env.reset_db() @@ -391,8 +448,36 @@ TRACINI_MACRO_TEST_CASES = u\ /pdiv class=tracini\ h3 id=section-42-sectioncode[section-42]/code/h3\ table class=wikitbody\ -trtdttoption1/tt/tdtd/tdtd class=defaultcodevalue/code/td/tr\
svn commit: r1639823 [19/29] - in /bloodhound/branches/trac-1.0.2-integration/trac: ./ contrib/ contrib/cgi-bin/ contrib/workflow/ doc/ doc/dev/ doc/utils/ sample-plugins/ sample-plugins/permissions/
Modified: bloodhound/branches/trac-1.0.2-integration/trac/trac/ticket/tests/query.py URL: http://svn.apache.org/viewvc/bloodhound/branches/trac-1.0.2-integration/trac/trac/ticket/tests/query.py?rev=1639823r1=1639822r2=1639823view=diff == --- bloodhound/branches/trac-1.0.2-integration/trac/trac/ticket/tests/query.py (original) +++ bloodhound/branches/trac-1.0.2-integration/trac/trac/ticket/tests/query.py Sat Nov 15 01:14:46 2014 @@ -1,9 +1,24 @@ +# -*- coding: utf-8 -*- +# +# Copyright (C) 2004-2013 Edgewall Software +# All rights reserved. +# +# This software is licensed as described in the file COPYING, which +# you should have received as part of this distribution. The terms +# are also available at http://trac.edgewall.org/wiki/TracLicense. +# +# This software consists of voluntary contributions made by many +# individuals. For the exact contribution history, see the revision +# history and logs, available at http://trac.edgewall.org/log/. + from trac.test import Mock, EnvironmentStub, MockPerm, locale_en +from trac.ticket.model import Ticket from trac.ticket.query import Query, QueryModule, TicketQueryMacro from trac.util.datefmt import utc from trac.web.chrome import web_context from trac.web.href import Href from trac.wiki.formatter import LinkFormatter +from trac.wiki.tests import formatter import unittest import difflib @@ -257,12 +272,14 @@ ORDER BY COALESCE(t.id,0)=0,t.id % {' sql, args = query.get_sql() foo = self.env.get_read_db().quote('foo') self.assertEqualSQL(sql, -SELECT t.id AS id,t.summary AS summary,t.owner AS owner,t.type AS type,t.status AS status,t.priority AS priority,t.milestone AS milestone,t.time AS time,t.changetime AS changetime,priority.value AS priority_value,%s.value AS %s -FROM ticket AS t - LEFT OUTER JOIN ticket_custom AS %s ON (id=%s.ticket AND %s.name='foo') +SELECT t.id AS id,t.summary AS summary,t.owner AS owner,t.type AS type,t.status AS status,t.priority AS priority,t.milestone AS milestone,t.time AS time,t.changetime AS changetime,priority.value AS priority_value,t.%s AS %s +FROM ( + SELECT t.id AS id,t.summary AS summary,t.owner AS owner,t.type AS type,t.status AS status,t.priority AS priority,t.milestone AS milestone,t.time AS time,t.changetime AS changetime, + (SELECT c.value FROM ticket_custom c WHERE c.ticket=t.id AND c.name='foo') AS %s + FROM ticket AS t) AS t LEFT OUTER JOIN enum AS priority ON (priority.type='priority' AND priority.name=priority) -WHERE ((COALESCE(%s.value,'')=%%s)) -ORDER BY COALESCE(t.id,0)=0,t.id % ((foo,) * 6)) +WHERE ((COALESCE(t.%s,'')=%%s)) +ORDER BY COALESCE(t.id,0)=0,t.id % ((foo,) * 4)) self.assertEqual(['something'], args) tickets = query.execute(self.req) @@ -272,15 +289,77 @@ ORDER BY COALESCE(t.id,0)=0,t.id % (( sql, args = query.get_sql() foo = self.env.get_read_db().quote('foo') self.assertEqualSQL(sql, -SELECT t.id AS id,t.summary AS summary,t.owner AS owner,t.type AS type,t.status AS status,t.priority AS priority,t.milestone AS milestone,t.time AS time,t.changetime AS changetime,priority.value AS priority_value,%s.value AS %s -FROM ticket AS t - LEFT OUTER JOIN ticket_custom AS %s ON (id=%s.ticket AND %s.name='foo') +SELECT t.id AS id,t.summary AS summary,t.owner AS owner,t.type AS type,t.status AS status,t.priority AS priority,t.milestone AS milestone,t.time AS time,t.changetime AS changetime,priority.value AS priority_value,t.%s AS %s +FROM ( + SELECT t.id AS id,t.summary AS summary,t.owner AS owner,t.type AS type,t.status AS status,t.priority AS priority,t.milestone AS milestone,t.time AS time,t.changetime AS changetime, + (SELECT c.value FROM ticket_custom c WHERE c.ticket=t.id AND c.name='foo') AS %s + FROM ticket AS t) AS t LEFT OUTER JOIN enum AS priority ON (priority.type='priority' AND priority.name=priority) -ORDER BY COALESCE(%s.value,'')='',%s.value,COALESCE(t.id,0)=0,t.id % -((foo,) * 7)) +ORDER BY COALESCE(t.%s,'')='',t.%s,COALESCE(t.id,0)=0,t.id % +((foo,) * 5)) self.assertEqual([], args) tickets = query.execute(self.req) +def test_constrained_by_id_ranges(self): +query = Query.from_string(self.env, 'id=42,44,51-55order=id') +sql, args = query.get_sql() +self.assertEqualSQL(sql, +SELECT t.id AS id,t.summary AS summary,t.owner AS owner,t.type AS type,t.status AS status,t.priority AS priority,t.milestone AS milestone,t.time AS time,t.changetime AS changetime,priority.value AS priority_value +FROM ticket AS t + LEFT OUTER JOIN enum AS priority ON (priority.type='priority' AND priority.name=priority) +WHERE ((t.id BETWEEN %s AND %s OR t.id IN (42,44))) +ORDER BY COALESCE(t.id,0)=0,t.id) +self.assertEqual([51, 55], args) + +def test_constrained_by_id_and_custom_field(self): +self.env.config.set('ticket-custom', 'foo', 'text') +
svn commit: r1639823 [20/29] - in /bloodhound/branches/trac-1.0.2-integration/trac: ./ contrib/ contrib/cgi-bin/ contrib/workflow/ doc/ doc/dev/ doc/utils/ sample-plugins/ sample-plugins/permissions/
Modified: bloodhound/branches/trac-1.0.2-integration/trac/trac/upgrades/db15.py URL: http://svn.apache.org/viewvc/bloodhound/branches/trac-1.0.2-integration/trac/trac/upgrades/db15.py?rev=1639823r1=1639822r2=1639823view=diff == --- bloodhound/branches/trac-1.0.2-integration/trac/trac/upgrades/db15.py (original) +++ bloodhound/branches/trac-1.0.2-integration/trac/trac/upgrades/db15.py Sat Nov 15 01:14:46 2014 @@ -1,3 +1,16 @@ +# -*- coding: utf-8 -*- +# +# Copyright (C) 2005-2013 Edgewall Software +# All rights reserved. +# +# This software is licensed as described in the file COPYING, which +# you should have received as part of this distribution. The terms +# are also available at http://trac.edgewall.com/license.html. +# +# This software consists of voluntary contributions made by many +# individuals. For the exact contribution history, see the revision +# history and logs, available at http://trac.edgewall.org/. + from trac.db import Table, Column, Index, DatabaseManager def do_upgrade(env, ver, cursor): Modified: bloodhound/branches/trac-1.0.2-integration/trac/trac/upgrades/db16.py URL: http://svn.apache.org/viewvc/bloodhound/branches/trac-1.0.2-integration/trac/trac/upgrades/db16.py?rev=1639823r1=1639822r2=1639823view=diff == --- bloodhound/branches/trac-1.0.2-integration/trac/trac/upgrades/db16.py (original) +++ bloodhound/branches/trac-1.0.2-integration/trac/trac/upgrades/db16.py Sat Nov 15 01:14:46 2014 @@ -1,3 +1,16 @@ +# -*- coding: utf-8 -*- +# +# Copyright (C) 2005-2013 Edgewall Software +# All rights reserved. +# +# This software is licensed as described in the file COPYING, which +# you should have received as part of this distribution. The terms +# are also available at http://trac.edgewall.com/license.html. +# +# This software consists of voluntary contributions made by many +# individuals. For the exact contribution history, see the revision +# history and logs, available at http://trac.edgewall.org/. + from trac.db import Table, Column, Index def do_upgrade(env, ver, cursor): Modified: bloodhound/branches/trac-1.0.2-integration/trac/trac/upgrades/db17.py URL: http://svn.apache.org/viewvc/bloodhound/branches/trac-1.0.2-integration/trac/trac/upgrades/db17.py?rev=1639823r1=1639822r2=1639823view=diff == --- bloodhound/branches/trac-1.0.2-integration/trac/trac/upgrades/db17.py (original) +++ bloodhound/branches/trac-1.0.2-integration/trac/trac/upgrades/db17.py Sat Nov 15 01:14:46 2014 @@ -1,3 +1,16 @@ +# -*- coding: utf-8 -*- +# +# Copyright (C) 2006-2013 Edgewall Software +# All rights reserved. +# +# This software is licensed as described in the file COPYING, which +# you should have received as part of this distribution. The terms +# are also available at http://trac.edgewall.com/license.html. +# +# This software consists of voluntary contributions made by many +# individuals. For the exact contribution history, see the revision +# history and logs, available at http://trac.edgewall.org/. + from trac.db import Table, Column, Index, DatabaseManager def do_upgrade(env, ver, cursor): Modified: bloodhound/branches/trac-1.0.2-integration/trac/trac/upgrades/db18.py URL: http://svn.apache.org/viewvc/bloodhound/branches/trac-1.0.2-integration/trac/trac/upgrades/db18.py?rev=1639823r1=1639822r2=1639823view=diff == --- bloodhound/branches/trac-1.0.2-integration/trac/trac/upgrades/db18.py (original) +++ bloodhound/branches/trac-1.0.2-integration/trac/trac/upgrades/db18.py Sat Nov 15 01:14:46 2014 @@ -1,3 +1,16 @@ +# -*- coding: utf-8 -*- +# +# Copyright (C) 2006-2013 Edgewall Software +# All rights reserved. +# +# This software is licensed as described in the file COPYING, which +# you should have received as part of this distribution. The terms +# are also available at http://trac.edgewall.com/license.html. +# +# This software consists of voluntary contributions made by many +# individuals. For the exact contribution history, see the revision +# history and logs, available at http://trac.edgewall.org/. + from trac.db import Table, Column, Index, DatabaseManager def do_upgrade(env, ver, cursor): @@ -61,4 +74,3 @@ def do_upgrade(env, ver, cursor): cursor.execute(DROP TABLE session_old) cursor.execute(DROP TABLE ticket_change_old) - Modified: bloodhound/branches/trac-1.0.2-integration/trac/trac/upgrades/db19.py URL: http://svn.apache.org/viewvc/bloodhound/branches/trac-1.0.2-integration/trac/trac/upgrades/db19.py?rev=1639823r1=1639822r2=1639823view=diff == --- bloodhound/branches/trac-1.0.2-integration/trac/trac/upgrades/db19.py (original) +++
svn commit: r1639823 [14/29] - in /bloodhound/branches/trac-1.0.2-integration/trac: ./ contrib/ contrib/cgi-bin/ contrib/workflow/ doc/ doc/dev/ doc/utils/ sample-plugins/ sample-plugins/permissions/
Modified: bloodhound/branches/trac-1.0.2-integration/trac/trac/tests/functional/better_twill.py URL: http://svn.apache.org/viewvc/bloodhound/branches/trac-1.0.2-integration/trac/trac/tests/functional/better_twill.py?rev=1639823r1=1639822r2=1639823view=diff == --- bloodhound/branches/trac-1.0.2-integration/trac/trac/tests/functional/better_twill.py (original) +++ bloodhound/branches/trac-1.0.2-integration/trac/trac/tests/functional/better_twill.py Sat Nov 15 01:14:46 2014 @@ -1,12 +1,26 @@ -#!/usr/bin/python +# -*- coding: utf-8 -*- +# +# Copyright (C) 2008-2014 Edgewall Software +# All rights reserved. +# +# This software is licensed as described in the file COPYING, which +# you should have received as part of this distribution. The terms +# are also available at http://trac.edgewall.org/wiki/TracLicense. +# +# This software consists of voluntary contributions made by many +# individuals. For the exact contribution history, see the revision +# history and logs, available at http://trac.edgewall.org/log/. + better_twill is a small wrapper around twill to set some sane defaults and monkey-patch some better versions of some of twill's methods. It also handles twill's absense. import os -from os.path import abspath, dirname, join import sys +import urllib +import urlparse +from os.path import abspath, dirname, join from pkg_resources import parse_version as pv try: from cStringIO import StringIO @@ -36,9 +50,9 @@ except ImportError: if twill: # We want Trac to generate valid html, and therefore want to test against -# the html as generated by Trac. tidy tries to clean up broken html, and -# is responsible for one difficult to track down testcase failure (for -# #5497). Therefore we turn it off here. +# the html as generated by Trac. tidy tries to clean up broken html, +# and is responsible for one difficult to track down testcase failure +# (for #5497). Therefore we turn it off here. twill.commands.config('use_tidy', '0') # We use a transparent proxy to access the global browser object through @@ -90,9 +104,9 @@ if twill: context = data.splitlines()[max(0, entry.line - 5): entry.line + 6] msg.append(\n# %s\n# URL: %s\n# Line %d, column %d\n\n%s\n -% (entry.message, entry.filename, - entry.line, entry.column, - \n.join([each.decode('utf-8') for each in context]))) + % (entry.message, entry.filename, entry.line, + entry.column, \n.join([each.decode('utf-8') + for each in context]))) return \n.join(msg).encode('ascii', 'xmlcharrefreplace') def _validate_xhtml(func_name, *args, **kwargs): @@ -120,6 +134,8 @@ if twill: Write the current html to a file. Name the file based on the current testcase. +import unittest + frame = sys._getframe() while frame: if frame.f_code.co_name in ('runTest', 'setUp', 'tearDown'): @@ -127,19 +143,26 @@ if twill: testname = testcase.__class__.__name__ tracdir = testcase._testenv.tracdir break +elif isinstance(frame.f_locals.get('self'), unittest.TestCase): +testcase = frame.f_locals['self'] +testname = '%s.%s' % (testcase.__class__.__name__, + testcase._testMethodName) +tracdir = testcase._testenv.tracdir +break frame = frame.f_back else: # We didn't find a testcase in the stack, so we have no clue what's # going on. raise Exception(No testcase was found on the stack. This was -really not expected, and I don't know how to handle it.) +really not expected, and I don't know how to +handle it.) filename = os.path.join(tracdir, 'log', %s.html % testname) html_file = open(filename, 'w') html_file.write(b.get_html()) html_file.close() -return filename +return urlparse.urljoin('file:', urllib.pathname2url(filename)) # Twill isn't as helpful with errors as I'd like it to be, so we replace # the formvalue function. This would be better done as a patch to Twill. @@ -149,8 +172,8 @@ if twill: except (twill.errors.TwillAssertionError, twill.utils.ClientForm.ItemNotFoundError), e: filename = twill_write_html() -args = e.args + (filename,) -raise twill.errors.TwillAssertionError(*args) +raise twill.errors.TwillAssertionError('%s at %s' % +
svn commit: r1619601 - in /bloodhound/trunk: .gitignore .rat-ignore
Author: rjollos Date: Thu Aug 21 21:32:08 2014 New Revision: 1619601 URL: http://svn.apache.org/r1619601 Log: Added `.gitignore` to `.rat-ignore`. Modified: bloodhound/trunk/.gitignore bloodhound/trunk/.rat-ignore Modified: bloodhound/trunk/.gitignore URL: http://svn.apache.org/viewvc/bloodhound/trunk/.gitignore?rev=1619601r1=1619600r2=1619601view=diff == --- bloodhound/trunk/.gitignore (original) +++ bloodhound/trunk/.gitignore Thu Aug 21 21:32:08 2014 @@ -1,20 +1,3 @@ -# Licensed to the Apache Software Foundation (ASF) under one -# or more contributor license agreements. See the NOTICE file -# distributed with this work for additional information -# regarding copyright ownership. The ASF licenses this file -# to you 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. - *.pyc *.idea *.egg-info Modified: bloodhound/trunk/.rat-ignore URL: http://svn.apache.org/viewvc/bloodhound/trunk/.rat-ignore?rev=1619601r1=1619600r2=1619601view=diff == --- bloodhound/trunk/.rat-ignore (original) +++ bloodhound/trunk/.rat-ignore Thu Aug 21 21:32:08 2014 @@ -1,4 +1,5 @@ .rat-ignore +.gitignore **/CHANGES **/MANIFEST.in **/TESTING_README @@ -12,4 +13,4 @@ installer/README.rst trac/ bloodhound_relations/bhrelations/default-pages/ bloodhound_multiproduct/tests/admin/*.txt -bloodhound_multiproduct/tests/*.txt \ No newline at end of file +bloodhound_multiproduct/tests/*.txt
svn commit: r1617129 - in /bloodhound/trunk/bloodhound_theme: bhtheme/tests/ bhtheme/tests/__init__.py bhtheme/tests/theme.py setup.py
Author: rjollos Date: Sun Aug 10 15:45:27 2014 New Revision: 1617129 URL: http://svn.apache.org/r1617129 Log: 0.8dev: Added unit tests to bloodhound_theme (1 test so far). Added: bloodhound/trunk/bloodhound_theme/bhtheme/tests/ bloodhound/trunk/bloodhound_theme/bhtheme/tests/__init__.py (with props) bloodhound/trunk/bloodhound_theme/bhtheme/tests/theme.py (with props) Modified: bloodhound/trunk/bloodhound_theme/setup.py Added: bloodhound/trunk/bloodhound_theme/bhtheme/tests/__init__.py URL: http://svn.apache.org/viewvc/bloodhound/trunk/bloodhound_theme/bhtheme/tests/__init__.py?rev=1617129view=auto == --- bloodhound/trunk/bloodhound_theme/bhtheme/tests/__init__.py (added) +++ bloodhound/trunk/bloodhound_theme/bhtheme/tests/__init__.py Sun Aug 10 15:45:27 2014 @@ -0,0 +1,35 @@ +# -*- coding: UTF-8 -*- + +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you 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. + +try: +import unittest2 as unittest +except ImportError: +import unittest + +from bhtheme.tests import theme + + +def suite(): +test_suite = unittest.TestSuite() +test_suite.addTest(theme.suite()) +return test_suite + + +if __name__ == '__main__': +unittest.main(defaultTest='suite') Propchange: bloodhound/trunk/bloodhound_theme/bhtheme/tests/__init__.py -- svn:eol-style = native Added: bloodhound/trunk/bloodhound_theme/bhtheme/tests/theme.py URL: http://svn.apache.org/viewvc/bloodhound/trunk/bloodhound_theme/bhtheme/tests/theme.py?rev=1617129view=auto == --- bloodhound/trunk/bloodhound_theme/bhtheme/tests/theme.py (added) +++ bloodhound/trunk/bloodhound_theme/bhtheme/tests/theme.py Sun Aug 10 15:45:27 2014 @@ -0,0 +1,52 @@ +# -*- coding: UTF-8 -*- + +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you 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. + +from trac.test import EnvironmentStub +from trac.web.chrome import Chrome + +from bhdashboard.web_ui import DashboardModule +from bhtheme.theme import BloodhoundTheme +from bhtheme.tests import unittest + + +class ThemeTestCase(unittest.TestCase): + +def setUp(self): +self.env = EnvironmentStub(enable=('trac.*', 'bhtheme.*'), + default_data=True) +self.bhtheme = BloodhoundTheme(self.env) + +def tearDown(self): +self.env.reset_db() + +def test_templates_dirs(self): +chrome = Chrome(self.env) +self.assertFalse(self.env.is_component_enabled(DashboardModule)) +for dir in self.bhtheme.get_templates_dirs(): +self.assertIn(dir, chrome.get_all_templates_dirs()) + + +def suite(): +suite = unittest.TestSuite() +suite.addTest(unittest.makeSuite(ThemeTestCase)) +return suite + + +if __name__ == '__main__': +unittest.main(defaultTest='suite') Propchange: bloodhound/trunk/bloodhound_theme/bhtheme/tests/theme.py -- svn:eol-style = native Modified: bloodhound/trunk/bloodhound_theme/setup.py URL: http://svn.apache.org/viewvc/bloodhound/trunk/bloodhound_theme/setup.py?rev=1617129r1=1617128r2=1617129view=diff == --- bloodhound/trunk/bloodhound_theme/setup.py (original) +++ bloodhound/trunk/bloodhound_theme/setup.py Sun Aug 10 15:45
svn commit: r1616498 - /bloodhound/trunk/trac/trac/hooks.py
Author: rjollos Date: Thu Aug 7 14:30:16 2014 New Revision: 1616498 URL: http://svn.apache.org/r1616498 Log: 0.8dev: Part of [1616400]. Refs #795. Modified: bloodhound/trunk/trac/trac/hooks.py Modified: bloodhound/trunk/trac/trac/hooks.py URL: http://svn.apache.org/viewvc/bloodhound/trunk/trac/trac/hooks.py?rev=1616498r1=1616497r2=1616498view=diff == --- bloodhound/trunk/trac/trac/hooks.py (original) +++ bloodhound/trunk/trac/trac/hooks.py Thu Aug 7 14:30:16 2014 @@ -34,7 +34,7 @@ class EnvironmentFactoryBase(object): @abc.abstractmethod def open_environment(self, environ, env_path, global_env, use_cache=False): -raise NotImplementedError(Must override method 'open_environment') +pass class RequestFactoryBase(object):
svn commit: r1616400 - in /bloodhound/trunk: installer/bloodhound_setup.py trac/trac/hooks.py
Author: rjollos Date: Thu Aug 7 04:42:40 2014 New Revision: 1616400 URL: http://svn.apache.org/r1616400 Log: 0.8dev: Use fully-qualified name for `request_factory` and `environment_factory`. Refs #795. * For the typically multiproduct environment, `[trac] environment_factory = multiproduct.hooks.MultiProductEnvironmentFactory` and `[trac] request_factory = multiproduct.hooks.ProductRequestFactory`. * Use `abc` module for abstract base classes. Modified: bloodhound/trunk/installer/bloodhound_setup.py bloodhound/trunk/trac/trac/hooks.py Modified: bloodhound/trunk/installer/bloodhound_setup.py URL: http://svn.apache.org/viewvc/bloodhound/trunk/installer/bloodhound_setup.py?rev=1616400r1=1616399r2=1616400view=diff == --- bloodhound/trunk/installer/bloodhound_setup.py (original) +++ bloodhound/trunk/installer/bloodhound_setup.py Thu Aug 7 04:42:40 2014 @@ -237,16 +237,10 @@ class BloodhoundSetup(object): self.writeconfig(tracini, [{'inherit': {'file': baseini},},]) base_config = dict(BASE_CONFIG) -environment_factory_path = os.path.abspath( - os.path.normpath( - os.path.join(options['sourcedir'], - 'bloodhound_multiproduct/multiproduct/hooks.py'))) -request_factory_path = os.path.abspath( - os.path.normpath( - os.path.join(options['sourcedir'], - 'bloodhound_multiproduct/multiproduct/hooks.py'))) -base_config['trac']['environment_factory'] = environment_factory_path -base_config['trac']['request_factory'] = request_factory_path +base_config['trac']['environment_factory'] = \ +'multiproduct.hooks.MultiProductEnvironmentFactory' +base_config['trac']['request_factory'] = \ +'multiproduct.hooks.ProductRequestFactory' if default_product_prefix != '@': base_config['multiproduct'] = dict( default_product_prefix=default_product_prefix Modified: bloodhound/trunk/trac/trac/hooks.py URL: http://svn.apache.org/viewvc/bloodhound/trunk/trac/trac/hooks.py?rev=1616400r1=1616399r2=1616400view=diff == --- bloodhound/trunk/trac/trac/hooks.py (original) +++ bloodhound/trunk/trac/trac/hooks.py Thu Aug 7 04:42:40 2014 @@ -15,12 +15,10 @@ # specific language governing permissions and limitations # under the License. -import imp -import inspect +import abc import os import pkg_resources -from trac.config import Configuration from trac.env import open_environment from trac.util import exception_to_unicode from trac.util.concurrency import threading @@ -32,39 +30,38 @@ __all__ = ['environment_factory', 'insta class EnvironmentFactoryBase(object): +__metaclass__ = abc.ABCMeta + +@abc.abstractmethod def open_environment(self, environ, env_path, global_env, use_cache=False): raise NotImplementedError(Must override method 'open_environment') class RequestFactoryBase(object): -def create_request(self, env, environ, start_response): -raise NotImplementedError(Must override method 'create_request') +__metaclass__ = abc.ABCMeta +@abc.abstractmethod +def create_request(self, env, environ, start_response): +pass -def _get_plugins_dir(env_path): -return os.path.normcase(os.path.realpath(os.path.join(env_path, 'plugins'))) +def load_class(fqn): +try: +pkg, resource = fqn.rsplit('.', 1) +except ValueError: +class_ = None +else: +try: +module = __import__(pkg, fromlist=[resource]) +except ImportError: +class_ = None +else: +try: +class_ = getattr(module, resource) +except AttributeError: +class_ = None +return class_ -def _get_config(env_path): -return Configuration(os.path.join(env_path, 'conf', 'trac.ini'), - {'envname': os.path.basename(env_path)}) - - -def _hook_load(env_path, hook_path): -hook_name = os.path.basename(hook_path[:-3]) -plugins_dir = _get_plugins_dir(env_path) -load_path = os.path.join(plugins_dir, hook_path) -module = imp.load_source(hook_name, load_path) -return module - - -def _get_hook_class(env_path, hook_path, class_type): -module = _hook_load(env_path, hook_path) -for (name, cls) in inspect.getmembers(module, inspect.isclass): -if issubclass(cls, class_type) and \ - not cls is class_type: -return cls -return None _global_hooks_installed = False _global_hooks_lock = threading.Lock() @@ -90,15 +87,11 @@ def install_global_hooks(): def
svn commit: r1616401 - in /bloodhound/trunk: bloodhound_multiproduct/multiproduct/api.py trac/trac/hooks.py
Author: rjollos Date: Thu Aug 7 04:53:34 2014 New Revision: 1616401 URL: http://svn.apache.org/r1616401 Log: 0.8dev: Correctly set `environment_factory` and `request_factory` on multiproduct upgrade. Refs #795. Modified: bloodhound/trunk/bloodhound_multiproduct/multiproduct/api.py bloodhound/trunk/trac/trac/hooks.py Modified: bloodhound/trunk/bloodhound_multiproduct/multiproduct/api.py URL: http://svn.apache.org/viewvc/bloodhound/trunk/bloodhound_multiproduct/multiproduct/api.py?rev=1616401r1=1616400r2=1616401view=diff == --- bloodhound/trunk/bloodhound_multiproduct/multiproduct/api.py (original) +++ bloodhound/trunk/bloodhound_multiproduct/multiproduct/api.py Thu Aug 7 04:53:34 2014 @@ -506,16 +506,15 @@ class MultiProductSystem(Component): def _enable_multiproduct_hooks(self): # enable multi product hooks in environment configuration -import multiproduct.hooks -import inspect config_update = False -hook_path = os.path.realpath(inspect.getsourcefile(multiproduct.hooks)) if not 'environment_factory' in self.env.config['trac']: -self.env.config['trac'].set('environment_factory', hook_path) +self.env.config['trac'].set('environment_factory', + 'multiproduct.hooks.MultiProductEnvironmentFactory') config_update = True if not 'request_factory' in self.env.config['trac']: -self.env.config['trac'].set('request_factory', hook_path) +self.env.config['trac'].set('request_factory', + 'multiproduct.hooks.ProductRequestFactory') config_update = True if config_update: self.log.info( Modified: bloodhound/trunk/trac/trac/hooks.py URL: http://svn.apache.org/viewvc/bloodhound/trunk/trac/trac/hooks.py?rev=1616401r1=1616400r2=1616401view=diff == --- bloodhound/trunk/trac/trac/hooks.py (original) +++ bloodhound/trunk/trac/trac/hooks.py Thu Aug 7 04:53:34 2014 @@ -87,10 +87,12 @@ def install_global_hooks(): def environment_factory(env): +print load_class(env.config.get('trac', 'environment_factory')) return load_class(env.config.get('trac', 'environment_factory')) def request_factory(env): +print load_class(env.config.get('trac', 'request_factory')) return load_class(env.config.get('trac', 'request_factory'))
svn commit: r1611070 - in /bloodhound: bep_0013_dynamic_clientside_features/ branches/bep_0013_dynamic_clientside_features/
Author: rjollos Date: Wed Jul 16 16:27:47 2014 New Revision: 1611070 URL: http://svn.apache.org/r1611070 Log: Moved branch to `/branches` directory. Added: bloodhound/branches/bep_0013_dynamic_clientside_features/ (props changed) - copied from r1611067, bloodhound/bep_0013_dynamic_clientside_features/ Removed: bloodhound/bep_0013_dynamic_clientside_features/ Propchange: bloodhound/branches/bep_0013_dynamic_clientside_features/ -- --- svn:auto-props (added) +++ svn:auto-props Wed Jul 16 16:27:47 2014 @@ -0,0 +1,5 @@ +*.html = svn:eol-style=native +*.js = svn:eol-style=native +*.css = svn:eol-style=native +*.py = svn:eol-style=native +*.xml = svn:eol-style=native Propchange: bloodhound/branches/bep_0013_dynamic_clientside_features/ -- --- svn:ignore (added) +++ svn:ignore Wed Jul 16 16:27:47 2014 @@ -0,0 +1,7 @@ +*.DS_Store +.idea +.project +.pydevproject +.git +.gitignore +.hg Propchange: bloodhound/branches/bep_0013_dynamic_clientside_features/ -- --- svn:mergeinfo (added) +++ svn:mergeinfo Wed Jul 16 16:27:47 2014 @@ -0,0 +1,3 @@ +/bloodhound/branches/bep_0003_multiproduct:1461360-1463488 +/bloodhound/branches/bep_0010_ticket_numbering:1506462-1517786 +/incubator/bloodhound/branches/bep_0003_multiproduct:1420073-1461359
svn commit: r1604057 [3/3] - in /bloodhound/branches/bep_0007_embeddable_objects: ./ bloodhound_dashboard/ bloodhound_dashboard/bhdashboard/widgets/templates/ bloodhound_multiproduct/ bloodhound_multi
Modified: bloodhound/branches/bep_0007_embeddable_objects/installer/bloodhound_setup.py URL: http://svn.apache.org/viewvc/bloodhound/branches/bep_0007_embeddable_objects/installer/bloodhound_setup.py?rev=1604057r1=1604056r2=1604057view=diff == --- bloodhound/branches/bep_0007_embeddable_objects/installer/bloodhound_setup.py (original) +++ bloodhound/branches/bep_0007_embeddable_objects/installer/bloodhound_setup.py Fri Jun 20 00:34:19 2014 @@ -20,29 +20,22 @@ import os import pkg_resources +import shutil import sys -import traceback - -import ConfigParser +from createdigest import htdigest_create from getpass import getpass from optparse import OptionParser -import shutil -import time - -from createdigest import htdigest_create - -LANG = os.environ.get('LANG') try: -from trac.util import translation -from trac.util.translation import _, get_negotiated_locale, has_babel from trac.admin.console import TracAdmin from trac.config import Configuration +from trac.util import translation +from trac.util.translation import _, get_negotiated_locale, has_babel except ImportError, e: -print (Requirements should be installed before running bloodhound_setup.py.\n - You can install them with the following command:\n - pip install -r requirements.txt\n) -traceback.print_exc() +print(Requirements must be installed before running + bloodhound_setup.py.\n + You can install them with the following command:\n + pip install -r requirements.txt\n) sys.exit(1) try: @@ -50,8 +43,16 @@ try: except ImportError: psycopg2 = None +try: +import MySQLdb as mysqldb +except ImportError: +mysqldb = None + +LANG = os.environ.get('LANG') + MAXBACKUPNUMBER = 64 # Max attempts to create backup file +SUPPORTED_DBTYPES = ('sqlite', 'postgres', 'mysql') DEFAULT_DB_USER = 'bloodhound' DEFAULT_DB_NAME = 'bloodhound' DEFAULT_ADMIN_USER = 'admin' @@ -137,23 +138,27 @@ class BloodhoundSetup(object): def _generate_db_str(self, options): Builds an appropriate db string for trac-admin for sqlite and -postgres options. Also allows for a user to provide their own db string -to allow database initialisation beyond these. -dbdata = {'user': options.get('dbuser'), +postgres options. Also allows for a user to provide their own db +string to allow database initialisation beyond these. +dbdata = {'type': options.get('dbtype', 'sqlite'), + 'user': options.get('dbuser'), 'pass': options.get('dbpass'), 'host': options.get('dbhost', 'localhost'), - 'port': options.get('dbport', '5432'), + 'port': options.get('dbport'), 'name': options.get('dbname', 'bloodhound'), } db = options.get('dbstring') if db is None: -dbtype = options.get('dbtype', 'sqlite') -if (dbtype == 'postgres' and dbdata['user'] is not None - and dbdata['pass'] is not None): -db = 'postgres://%(user)s:%(pass)s@%(host)s:%(port)s/%(name)s' +if dbdata['type'] in ('postgres', 'mysql') \ +and dbdata['user'] is not None \ +and dbdata['pass'] is not None: +if dbdata['port'] is not None: +db = '%(type)s://%(user)s:%(pass)s@%(host)s:%(port)s/%(name)s' +else: # no port specified = default port +db = '%(type)s://%(user)s:%(pass)s@%(host)s/%(name)s' else: -db = 'sqlite:%s' % os.path.join('db', '%(name)s.db') +db = '%%(type)s:%s' % os.path.join('db', '%(name)s.db') return db % dbdata def setup(self, **kwargs): @@ -174,6 +179,9 @@ class BloodhoundSetup(object): if psycopg2 is None and options.get('dbtype') == 'postgres': print psycopg2 needs to be installed to initialise a postgresql db return False +elif mysqldb is None and options.get('dbtype') == 'mysql': +print MySQLdb needs to be installed to initialise a mysql db +return False environments_path = options['envsdir'] if not os.path.exists(environments_path): @@ -304,7 +312,8 @@ And point your browser at http://localho Writes or updates a config file. A list of dictionaries is used so that options for different aspects of the configuration can be kept separate while being able to update the same sections. Note that the -result is order dependent where two dictionaries update the same option. +result is order dependent where two dictionaries update the same +option. config = Configuration(filepath) file_changed = False
svn commit: r1598105 - /bloodhound/bep_0013_dynamic_clientside_features/
Author: rjollos Date: Wed May 28 19:01:48 2014 New Revision: 1598105 URL: http://svn.apache.org/r1598105 Log: Creating a branch for work on BEP 13. Added: bloodhound/bep_0013_dynamic_clientside_features/ (props changed) - copied from r1598104, bloodhound/trunk/ Propchange: bloodhound/bep_0013_dynamic_clientside_features/ -- --- svn:auto-props (added) +++ svn:auto-props Wed May 28 19:01:48 2014 @@ -0,0 +1,5 @@ +*.html = svn:eol-style=native +*.js = svn:eol-style=native +*.css = svn:eol-style=native +*.py = svn:eol-style=native +*.xml = svn:eol-style=native Propchange: bloodhound/bep_0013_dynamic_clientside_features/ -- --- svn:ignore (added) +++ svn:ignore Wed May 28 19:01:48 2014 @@ -0,0 +1,7 @@ +*.DS_Store +.idea +.project +.pydevproject +.git +.gitignore +.hg Propchange: bloodhound/bep_0013_dynamic_clientside_features/ -- --- svn:mergeinfo (added) +++ svn:mergeinfo Wed May 28 19:01:48 2014 @@ -0,0 +1,3 @@ +/bloodhound/branches/bep_0003_multiproduct:1461360-1463488 +/bloodhound/branches/bep_0010_ticket_numbering:1506462-1517786 +/incubator/bloodhound/branches/bep_0003_multiproduct:1420073-1461359
svn commit: r1588127 - in /bloodhound/trunk: bloodhound_relations/ bloodhound_relations/bhrelations/ bloodhound_relations/bhrelations/templates/ bloodhound_relations/bhrelations/tests/ bloodhound_rela
Author: rjollos Date: Thu Apr 17 03:51:46 2014 New Revision: 1588127 URL: http://svn.apache.org/r1588127 Log: 0.8dev: PEP-0008 changes and fixed missing `id` tag. Modified: bloodhound/trunk/bloodhound_relations/README bloodhound/trunk/bloodhound_relations/TESTING_README bloodhound/trunk/bloodhound_relations/bhrelations/api.py bloodhound/trunk/bloodhound_relations/bhrelations/db_default.py bloodhound/trunk/bloodhound_relations/bhrelations/model.py bloodhound/trunk/bloodhound_relations/bhrelations/notification.py bloodhound/trunk/bloodhound_relations/bhrelations/templates/relations_manage.html bloodhound/trunk/bloodhound_relations/bhrelations/tests/__init__.py bloodhound/trunk/bloodhound_relations/bhrelations/tests/api.py bloodhound/trunk/bloodhound_relations/bhrelations/tests/base.py bloodhound/trunk/bloodhound_relations/bhrelations/tests/mocks.py bloodhound/trunk/bloodhound_relations/bhrelations/tests/notification.py bloodhound/trunk/bloodhound_relations/bhrelations/tests/search.py bloodhound/trunk/bloodhound_relations/bhrelations/tests/validation.py bloodhound/trunk/bloodhound_relations/bhrelations/tests/web_ui.py bloodhound/trunk/bloodhound_relations/bhrelations/web_ui.py bloodhound/trunk/bloodhound_relations/bhrelations/widgets/relations.py bloodhound/trunk/bloodhound_relations/setup.py bloodhound/trunk/bloodhound_search/bhsearch/tests/query_suggestion.py bloodhound/trunk/bloodhound_search/bhsearch/tests/security.py bloodhound/trunk/bloodhound_search/bhsearch/tests/web_ui.py bloodhound/trunk/bloodhound_search/bhsearch/tests/whoosh_backend.py Modified: bloodhound/trunk/bloodhound_relations/README URL: http://svn.apache.org/viewvc/bloodhound/trunk/bloodhound_relations/README?rev=1588127r1=1588126r2=1588127view=diff == --- bloodhound/trunk/bloodhound_relations/README (original) +++ bloodhound/trunk/bloodhound_relations/README Thu Apr 17 03:51:46 2014 @@ -28,4 +28,4 @@ If you have any issues, please create a == The Trac ticket-links branch Bloodhound Relations plugin contains the code from the Trac ticket-links branch, which -is licensed under the same license as Trac (http://trac.edgewall.org/wiki/TracLicense). \ No newline at end of file +is licensed under the same license as Trac (http://trac.edgewall.org/wiki/TracLicense). Modified: bloodhound/trunk/bloodhound_relations/TESTING_README URL: http://svn.apache.org/viewvc/bloodhound/trunk/bloodhound_relations/TESTING_README?rev=1588127r1=1588126r2=1588127view=diff == --- bloodhound/trunk/bloodhound_relations/TESTING_README (original) +++ bloodhound/trunk/bloodhound_relations/TESTING_README Thu Apr 17 03:51:46 2014 @@ -1,5 +1,5 @@ -= Testing Bloodhound Search plugin = += Testing Bloodhound Relations plugin = == Overview == Modified: bloodhound/trunk/bloodhound_relations/bhrelations/api.py URL: http://svn.apache.org/viewvc/bloodhound/trunk/bloodhound_relations/bhrelations/api.py?rev=1588127r1=1588126r2=1588127view=diff == --- bloodhound/trunk/bloodhound_relations/bhrelations/api.py (original) +++ bloodhound/trunk/bloodhound_relations/bhrelations/api.py Thu Apr 17 03:51:46 2014 @@ -16,30 +16,34 @@ # KIND, either express or implied. See the License for the # specific language governing permissions and limitations # under the License. -import itertools +import itertools import re from datetime import datetime from pkg_resources import resource_filename + +from trac.config import OrderedExtensionsOption, Option +from trac.core import Component, ExtensionPoint, Interface, TracError, \ + implements +from trac.db import DatabaseManager +from trac.env import IEnvironmentSetupParticipant +from trac.resource import Neighborhood, Resource, ResourceNotFound, \ + ResourceSystem, get_resource_shortname +from trac.ticket.api import ITicketChangeListener, ITicketManipulator, \ +TicketSystem +from trac.ticket.model import Ticket +from trac.util.datefmt import to_utimestamp, utc +from trac.web.chrome import ITemplateProvider + +from multiproduct.api import ISupportMultiProductEnvironment +from multiproduct.model import Product +from multiproduct.env import ProductEnvironment + from bhrelations import db_default from bhrelations.model import Relation from bhrelations.utils import unique from bhrelations.utils.translation import _, add_domain -from multiproduct.api import ISupportMultiProductEnvironment -from multiproduct.model import Product -from multiproduct.env import ProductEnvironment -from trac.config import OrderedExtensionsOption, Option -from trac.core import (Component, implements, TracError, Interface, - ExtensionPoint
svn commit: r1587754 - /bloodhound/trunk/trac/trac/web/main.py
Author: rjollos Date: Tue Apr 15 23:35:56 2014 New Revision: 1587754 URL: http://svn.apache.org/r1587754 Log: 0.8dev: Fixed unbound local variable errors when exception is raised. Refs #800. Patch by Olemis Lang. Modified: bloodhound/trunk/trac/trac/web/main.py Modified: bloodhound/trunk/trac/trac/web/main.py URL: http://svn.apache.org/viewvc/bloodhound/trunk/trac/trac/web/main.py?rev=1587754r1=1587753r2=1587754view=diff == --- bloodhound/trunk/trac/trac/web/main.py (original) +++ bloodhound/trunk/trac/trac/web/main.py Tue Apr 15 23:35:56 2014 @@ -383,8 +383,8 @@ def dispatch_request(environ, start_resp # Load handler for environment lookup and instantiation of request objects from trac.hooks import load_bootstrap_handler -bootstrap = load_bootstrap_handler(environ['trac.bootstrap_handler'], - environ.get('wsgi.errors')) +bootstrap_ep = environ['trac.bootstrap_handler'] +bootstrap = load_bootstrap_handler(bootstrap_ep, environ.get('wsgi.errors')) # Determine the environment @@ -432,7 +432,7 @@ def dispatch_request(environ, start_resp try: req = bootstrap.create_request(env, environ, start_response) \ if env is not None else Request(environ, start_response) -except Exception: +except Exception, e: log = environ.get('wsgi.errors') if log: log.write([FAIL] [Trac] Entry point '%s'
svn commit: r1585890 - /bloodhound/trunk/bloodhound_search/bhsearch/whoosh_backend.py
Author: rjollos Date: Wed Apr 9 05:00:25 2014 New Revision: 1585890 URL: http://svn.apache.org/r1585890 Log: 0.8dev: Added Whoosh version to //SystemInfo// table. Refs #794. Patch by devenderbindal. Modified: bloodhound/trunk/bloodhound_search/bhsearch/whoosh_backend.py Modified: bloodhound/trunk/bloodhound_search/bhsearch/whoosh_backend.py URL: http://svn.apache.org/viewvc/bloodhound/trunk/bloodhound_search/bhsearch/whoosh_backend.py?rev=1585890r1=1585889r2=1585890view=diff == --- bloodhound/trunk/bloodhound_search/bhsearch/whoosh_backend.py (original) +++ bloodhound/trunk/bloodhound_search/bhsearch/whoosh_backend.py Wed Apr 9 05:00:25 2014 @@ -24,6 +24,7 @@ from datetime import datetime from trac.core import Component, implements, TracError from trac.config import Option, IntOption +from trac.env import ISystemInfoProvider from trac.util.datefmt import utc import whoosh @@ -44,7 +45,7 @@ class WhooshBackend(Component): Implements Whoosh SearchBackend interface -implements(ISearchBackend) +implements(ISearchBackend, ISystemInfoProvider) index_dir_setting = Option( BHSEARCH_CONFIG_SECTION, @@ -124,7 +125,13 @@ class WhooshBackend(Component): else: self.index = None -#ISearchBackend methods +# ISystemInfoProvider methods + +def get_system_info(self): +yield 'Whoosh', whoosh.versionstring() + +# ISearchBackend methods + def start_operation(self): return self._create_writer()
svn commit: r1583082 - in /bloodhound/trunk: bloodhound_search/bhsearch/whoosh_backend.py bloodhound_theme/bhtheme/templates/bh_product_edit.html
Author: rjollos Date: Sat Mar 29 22:47:14 2014 New Revision: 1583082 URL: http://svn.apache.org/r1583082 Log: 0.8dev: Removed imports that are not needed after r1566160. Refs #741. Some additional PEP-0008 changes. Modified: bloodhound/trunk/bloodhound_search/bhsearch/whoosh_backend.py bloodhound/trunk/bloodhound_theme/bhtheme/templates/bh_product_edit.html Modified: bloodhound/trunk/bloodhound_search/bhsearch/whoosh_backend.py URL: http://svn.apache.org/viewvc/bloodhound/trunk/bloodhound_search/bhsearch/whoosh_backend.py?rev=1583082r1=1583081r2=1583082view=diff == --- bloodhound/trunk/bloodhound_search/bhsearch/whoosh_backend.py (original) +++ bloodhound/trunk/bloodhound_search/bhsearch/whoosh_backend.py Sat Mar 29 22:47:14 2014 @@ -18,25 +18,24 @@ # under the License. rWhoosh specific backend for Bloodhound Search plugin. -from bhsearch import BHSEARCH_CONFIG_SECTION -from bhsearch.api import ISearchBackend, DESC, QueryResult, SCORE, \ -IDocIndexPreprocessor, IResultPostprocessor, IndexFields, \ -IQueryPreprocessor + import os -from bhsearch.search_resources.ticket_search import TicketFields -from bhsearch.security import SecurityPreprocessor -from bhsearch.utils import get_global_env +from datetime import datetime + from trac.core import Component, implements, TracError from trac.config import Option, IntOption -from trac.util.text import empty from trac.util.datefmt import utc -from whoosh.fields import Schema, ID, DATETIME, KEYWORD, TEXT -from whoosh import index, analysis + import whoosh -import whoosh.highlight +from whoosh import index, analysis from whoosh.collectors import FilterCollector +from whoosh.fields import Schema, ID, DATETIME, KEYWORD, TEXT from whoosh.writing import AsyncWriter -from datetime import datetime + +from bhsearch import BHSEARCH_CONFIG_SECTION +from bhsearch.api import ISearchBackend, DESC, QueryResult, SCORE +from bhsearch.security import SecurityPreprocessor +from bhsearch.utils import get_global_env UNIQUE_ID = unique_id @@ -189,7 +188,6 @@ class WhooshBackend(Component): writer.cancel() raise - def optimize(self): writer = AsyncWriter(self.index) writer.commit(optimize=True) @@ -206,14 +204,14 @@ class WhooshBackend(Component): def query(self, query, query_string=None, - sort = None, - fields = None, - filter = None, - facets = None, - pagenum = 1, - pagelen = 20, - highlight = False, - highlight_fields = None, + sort=None, + fields=None, + filter=None, + facets=None, + pagenum=1, + pagelen=20, + highlight=False, + highlight_fields=None, context=None): # pylint: disable=too-many-locals with self.index.searcher() as searcher: @@ -230,16 +228,16 @@ class WhooshBackend(Component): groupedby = facets query_parameters = dict( -query = query, -pagenum = pagenum, -pagelen = pagelen, -sortedby = sortedby, -groupedby = groupedby, +query=query, +pagenum=pagenum, +pagelen=pagelen, +sortedby=sortedby, +groupedby=groupedby, maptype=whoosh.sorting.Count, -filter = filter, +filter=filter, ) self.env.log.debug(Whoosh query to execute: %s, -query_parameters) + query_parameters) raw_page = searcher.search_page(**query_parameters) results = self._process_results(raw_page, fields, Modified: bloodhound/trunk/bloodhound_theme/bhtheme/templates/bh_product_edit.html URL: http://svn.apache.org/viewvc/bloodhound/trunk/bloodhound_theme/bhtheme/templates/bh_product_edit.html?rev=1583082r1=1583081r2=1583082view=diff == --- bloodhound/trunk/bloodhound_theme/bhtheme/templates/bh_product_edit.html (original) +++ bloodhound/trunk/bloodhound_theme/bhtheme/templates/bh_product_edit.html Sat Mar 29 22:47:14 2014 @@ -49,7 +49,7 @@ div class=control-group label class=control-label for=prefixPrefix:/label div class=controls -input type=text id=prefix name=prefix class=input-xxlarge value=${product.prefix or req.args.get('prefix')} readonly=${product._exists and 'readonly' or None}/ +input type=text id=prefix name=prefix class=input-xxlarged value=${product.prefix or req.args.get('prefix')} readonly=${product._exists and 'readonly' or None
svn commit: r1580702 - in /bloodhound/trunk: RELEASE_NOTES installer/bloodhound_setup.py
Author: rjollos Date: Mon Mar 24 02:26:15 2014 New Revision: 1580702 URL: http://svn.apache.org/r1580702 Log: 0.8dev: Added MySQL support to install script. Refs #787. Initial patch by JoKoT3. Modified: bloodhound/trunk/RELEASE_NOTES bloodhound/trunk/installer/bloodhound_setup.py Modified: bloodhound/trunk/RELEASE_NOTES URL: http://svn.apache.org/viewvc/bloodhound/trunk/RELEASE_NOTES?rev=1580702r1=1580701r2=1580702view=diff == --- bloodhound/trunk/RELEASE_NOTES (original) +++ bloodhound/trunk/RELEASE_NOTES Mon Mar 24 02:26:15 2014 @@ -10,6 +10,7 @@ * BloodhoundSearch now supports Whoosh = 2.5.1 (upgraded from 2.4.1). * Fixed errors in BloodhoundRelations validation logic. * Bootstrap template for the Roadmap view. + * Bloodhound installer support for MySQL database. * Numerous other important fixes and minor enhancements. Modified: bloodhound/trunk/installer/bloodhound_setup.py URL: http://svn.apache.org/viewvc/bloodhound/trunk/installer/bloodhound_setup.py?rev=1580702r1=1580701r2=1580702view=diff == --- bloodhound/trunk/installer/bloodhound_setup.py (original) +++ bloodhound/trunk/installer/bloodhound_setup.py Mon Mar 24 02:26:15 2014 @@ -20,26 +20,20 @@ import os import pkg_resources +import shutil import sys -import traceback - -import ConfigParser +from createdigest import htdigest_create from getpass import getpass from optparse import OptionParser -import shutil -import time - -from createdigest import htdigest_create - -LANG = os.environ.get('LANG') try: -from trac.util import translation -from trac.util.translation import _, get_negotiated_locale, has_babel from trac.admin.console import TracAdmin from trac.config import Configuration +from trac.util import translation +from trac.util.translation import _, get_negotiated_locale, has_babel except ImportError, e: -print(Requirements must be installed before running bloodhound_setup.py.\n +print(Requirements must be installed before running + bloodhound_setup.py.\n You can install them with the following command:\n pip install -r requirements.txt\n) sys.exit(1) @@ -49,8 +43,16 @@ try: except ImportError: psycopg2 = None +try: +import MySQLdb as mysqldb +except ImportError: +mysqldb = None + +LANG = os.environ.get('LANG') + MAXBACKUPNUMBER = 64 # Max attempts to create backup file +SUPPORTED_DBTYPES = ('sqlite', 'postgres', 'mysql') DEFAULT_DB_USER = 'bloodhound' DEFAULT_DB_NAME = 'bloodhound' DEFAULT_ADMIN_USER = 'admin' @@ -136,23 +138,27 @@ class BloodhoundSetup(object): def _generate_db_str(self, options): Builds an appropriate db string for trac-admin for sqlite and -postgres options. Also allows for a user to provide their own db string -to allow database initialisation beyond these. -dbdata = {'user': options.get('dbuser'), +postgres options. Also allows for a user to provide their own db +string to allow database initialisation beyond these. +dbdata = {'type': options.get('dbtype', 'sqlite'), + 'user': options.get('dbuser'), 'pass': options.get('dbpass'), 'host': options.get('dbhost', 'localhost'), - 'port': options.get('dbport', '5432'), + 'port': options.get('dbport'), 'name': options.get('dbname', 'bloodhound'), } db = options.get('dbstring') if db is None: -dbtype = options.get('dbtype', 'sqlite') -if (dbtype == 'postgres' and dbdata['user'] is not None - and dbdata['pass'] is not None): -db = 'postgres://%(user)s:%(pass)s@%(host)s:%(port)s/%(name)s' +if dbdata['type'] in ('postgres', 'mysql') \ +and dbdata['user'] is not None \ +and dbdata['pass'] is not None: +if dbdata['port'] is not None: +db = '%(type)s://%(user)s:%(pass)s@%(host)s:%(port)s/%(name)s' +else: # no port specified = default port +db = '%(type)s://%(user)s:%(pass)s@%(host)s/%(name)s' else: -db = 'sqlite:%s' % os.path.join('db', '%(name)s.db') +db = '%%(type)s:%s' % os.path.join('db', '%(name)s.db') return db % dbdata def setup(self, **kwargs): @@ -173,6 +179,9 @@ class BloodhoundSetup(object): if psycopg2 is None and options.get('dbtype') == 'postgres': print psycopg2 needs to be installed to initialise a postgresql db return False +elif mysqldb is None and options.get('dbtype') == 'mysql': +print MySQLdb needs to be installed to initialise a mysql db +return
svn commit: r1580718 - in /bloodhound/trunk: RELEASE_NOTES bloodhound_theme/bhtheme/templates/bh_product_edit.html bloodhound_theme/bhtheme/templates/bh_roadmap.html bloodhound_theme/bhtheme/theme.py
Author: rjollos Date: Mon Mar 24 03:16:09 2014 New Revision: 1580718 URL: http://svn.apache.org/r1580718 Log: 0.8dev: Added Boostrap styling to the //Edit Product// page. Refs #570. Initial patch by devenderbindal. Modified: bloodhound/trunk/RELEASE_NOTES bloodhound/trunk/bloodhound_theme/bhtheme/templates/bh_product_edit.html bloodhound/trunk/bloodhound_theme/bhtheme/templates/bh_roadmap.html bloodhound/trunk/bloodhound_theme/bhtheme/theme.py Modified: bloodhound/trunk/RELEASE_NOTES URL: http://svn.apache.org/viewvc/bloodhound/trunk/RELEASE_NOTES?rev=1580718r1=1580717r2=1580718view=diff == --- bloodhound/trunk/RELEASE_NOTES (original) +++ bloodhound/trunk/RELEASE_NOTES Mon Mar 24 03:16:09 2014 @@ -9,7 +9,7 @@ * Improvements to ticket timeline (comments section). * BloodhoundSearch now supports Whoosh = 2.5.1 (upgraded from 2.4.1). * Fixed errors in BloodhoundRelations validation logic. - * Bootstrap template for the Roadmap view. + * Bootstrap template for the Roadmap and Edit Product views. * Bloodhound installer support for MySQL database. * Numerous other important fixes and minor enhancements. Modified: bloodhound/trunk/bloodhound_theme/bhtheme/templates/bh_product_edit.html URL: http://svn.apache.org/viewvc/bloodhound/trunk/bloodhound_theme/bhtheme/templates/bh_product_edit.html?rev=1580718r1=1580717r2=1580718view=diff == --- bloodhound/trunk/bloodhound_theme/bhtheme/templates/bh_product_edit.html (original) +++ bloodhound/trunk/bloodhound_theme/bhtheme/templates/bh_product_edit.html Mon Mar 24 03:16:09 2014 @@ -23,9 +23,10 @@ html xmlns=http://www.w3.org/1999/xhtml; xmlns:py=http://genshi.edgewall.org/; xmlns:i18n=http://genshi.edgewall.org/i18n; - i18n:domain=multiproduct + i18n:domain=bhtheme xmlns:xi=http://www.w3.org/2001/XInclude; xi:include href=layout.html / + head py:choose test=product._exists title py:when=TrueEdit Product ${product.name}/title @@ -34,36 +35,52 @@ /head body -div id=content class=product +div id=content class=product row py:choose test=product._exists -h1 py:when=TrueEdit Product ${product.name}/h1 -h1 py:otherwise=New Product/h1 +h1 py:when=True class=span12Edit Product ${product.name}/h1 +h1 py:otherwise= class=span12New Product/h1 /py:choose - form id=edit action= method=post -div class=field + + div class=span12 +form class=form-horizontal action= method=post input type=hidden name=action value=edit / - labelShort name for the product (prefix):br / -input type=text id=prefix name=prefix size=32 value=${product.prefix or req.args.get('prefix')} readonly=${product._exists and 'readonly' or None}/ - /label - labelName of the product:br / -input type=text id=name name=name size=32 value=${product.name or req.args.get('name')} / - /label -/div -div class=field - fieldset class=iefix -label for=description i18n:msg=Description (you may use a tabindex=42 - href=${href.wiki('WikiFormatting')}WikiFormatting/a here):/label -ptextarea id=description name=description class=wikitext trac-resizable rows=10 cols=78 -${product.description}/textarea/p - /fieldset -/div -div class=buttons py:choose=product._exists - input py:when=True type=submit value=${_('Submit changes')} / - input py:otherwise= type=submit value=${_('Add Product')} / - input type=submit name=cancel value=${_('Cancel')} / -/div - /form + div +div class=control-group + label class=control-label for=prefixPrefix:/label + div class=controls +input type=text id=prefix name=prefix class=input-xxlarge value=${product.prefix or req.args.get('prefix')} readonly=${product._exists and 'readonly' or None}/ + /div +/div +div class=control-group + label class=control-label for=nameName:/label + div class=controls +input type=text id=name name=name class=input-xxlarge value=${product.name or req.args.get('name')} / + /div +/div +div class=control-group + fieldset class=iefix +label class=control-label for=description i18n:msg= + Description: +/label +div class=controls + ptextarea id=description name=description class=wikitext trac-resizable input-xxlarge rows=10 cols=78 +$product.description/textarea/p + p class=help-block +span class=label label-infoTip/span +You may use
svn commit: r1579442 - in /bloodhound/trunk: bloodhound_dashboard/setup.py bloodhound_multiproduct/setup.py bloodhound_relations/setup.py bloodhound_search/setup.py
Author: rjollos Date: Wed Mar 19 23:03:08 2014 New Revision: 1579442 URL: http://svn.apache.org/r1579442 Log: 0.8dev: Use the standard message extractors rather than the JS message extractors. Refs #694. Modified: bloodhound/trunk/bloodhound_dashboard/setup.py bloodhound/trunk/bloodhound_multiproduct/setup.py bloodhound/trunk/bloodhound_relations/setup.py bloodhound/trunk/bloodhound_search/setup.py Modified: bloodhound/trunk/bloodhound_dashboard/setup.py URL: http://svn.apache.org/viewvc/bloodhound/trunk/bloodhound_dashboard/setup.py?rev=1579442r1=1579441r2=1579442view=diff == --- bloodhound/trunk/bloodhound_dashboard/setup.py (original) +++ bloodhound/trunk/bloodhound_dashboard/setup.py Wed Mar 19 23:03:08 2014 @@ -132,8 +132,8 @@ ENTRY_POINTS = r extra = {} try: -from trac.util.dist import get_l10n_js_cmdclass -cmdclass = get_l10n_js_cmdclass() +from trac.util.dist import get_l10n_cmdclass +cmdclass = get_l10n_cmdclass() if cmdclass: extra['cmdclass'] = cmdclass extractors = [ Modified: bloodhound/trunk/bloodhound_multiproduct/setup.py URL: http://svn.apache.org/viewvc/bloodhound/trunk/bloodhound_multiproduct/setup.py?rev=1579442r1=1579441r2=1579442view=diff == --- bloodhound/trunk/bloodhound_multiproduct/setup.py (original) +++ bloodhound/trunk/bloodhound_multiproduct/setup.py Wed Mar 19 23:03:08 2014 @@ -36,8 +36,8 @@ if __name__ == '__main__': extra = {} try: -from trac.util.dist import get_l10n_js_cmdclass -cmdclass = get_l10n_js_cmdclass() +from trac.util.dist import get_l10n_cmdclass +cmdclass = get_l10n_cmdclass() if cmdclass: extra['cmdclass'] = cmdclass extractors = [ Modified: bloodhound/trunk/bloodhound_relations/setup.py URL: http://svn.apache.org/viewvc/bloodhound/trunk/bloodhound_relations/setup.py?rev=1579442r1=1579441r2=1579442view=diff == --- bloodhound/trunk/bloodhound_relations/setup.py (original) +++ bloodhound/trunk/bloodhound_relations/setup.py Wed Mar 19 23:03:08 2014 @@ -115,8 +115,8 @@ ENTRY_POINTS = { extra = {} try: -from trac.util.dist import get_l10n_js_cmdclass -cmdclass = get_l10n_js_cmdclass() +from trac.util.dist import get_l10n_cmdclass +cmdclass = get_l10n_cmdclass() if cmdclass: extra['cmdclass'] = cmdclass extractors = [ Modified: bloodhound/trunk/bloodhound_search/setup.py URL: http://svn.apache.org/viewvc/bloodhound/trunk/bloodhound_search/setup.py?rev=1579442r1=1579441r2=1579442view=diff == --- bloodhound/trunk/bloodhound_search/setup.py (original) +++ bloodhound/trunk/bloodhound_search/setup.py Wed Mar 19 23:03:08 2014 @@ -144,8 +144,8 @@ ENTRY_POINTS = { extra = {} try: -from trac.util.dist import get_l10n_js_cmdclass -cmdclass = get_l10n_js_cmdclass() +from trac.util.dist import get_l10n_cmdclass +cmdclass = get_l10n_cmdclass() if cmdclass: extra['cmdclass'] = cmdclass extractors = [
svn commit: r1579492 - /bloodhound/trunk/bloodhound_relations/bhrelations/validation.py
Author: rjollos Date: Thu Mar 20 01:03:15 2014 New Revision: 1579492 URL: http://svn.apache.org/r1579492 Log: 0.8dev: Fixed documentation for `BlockerValidator`. Modified: bloodhound/trunk/bloodhound_relations/bhrelations/validation.py Modified: bloodhound/trunk/bloodhound_relations/bhrelations/validation.py URL: http://svn.apache.org/viewvc/bloodhound/trunk/bloodhound_relations/bhrelations/validation.py?rev=1579492r1=1579491r2=1579492view=diff == --- bloodhound/trunk/bloodhound_relations/bhrelations/validation.py (original) +++ bloodhound/trunk/bloodhound_relations/bhrelations/validation.py Thu Mar 20 01:03:15 2014 @@ -219,8 +219,7 @@ class ReferencesOlderValidator(Validator class BlockerValidator(Validator): def validate(self, relation): -If a path exists from relation's destination to its source, - adding the relation will create a cycle. +Prevents adding a cyclical blocker relation. rls = RelationsSystem(self.env) if not rls.is_blocker(relation.type):
svn commit: r1579117 - in /bloodhound/trunk/bloodhound_relations/bhrelations: validation.py web_ui.py
Author: rjollos Date: Wed Mar 19 03:13:17 2014 New Revision: 1579117 URL: http://svn.apache.org/r1579117 Log: 0.8dev: PEP-0008 changes and proper markup for a translatable string. Modified: bloodhound/trunk/bloodhound_relations/bhrelations/validation.py bloodhound/trunk/bloodhound_relations/bhrelations/web_ui.py Modified: bloodhound/trunk/bloodhound_relations/bhrelations/validation.py URL: http://svn.apache.org/viewvc/bloodhound/trunk/bloodhound_relations/bhrelations/validation.py?rev=1579117r1=1579116r2=1579117view=diff == --- bloodhound/trunk/bloodhound_relations/bhrelations/validation.py (original) +++ bloodhound/trunk/bloodhound_relations/bhrelations/validation.py Wed Mar 19 03:13:17 2014 @@ -190,8 +190,9 @@ class OneToManyValidator(Validator): parents. def validate(self, relation): rls = RelationsSystem(self.env) -existing_relations = rls._select_relations(resource_type=relation.type, - destination=relation.destination) +existing_relations = \ +rls._select_relations(resource_type=relation.type, + destination=relation.destination) if existing_relations: raise ValidationError( tag_(Another resource is already related to %(destination)s Modified: bloodhound/trunk/bloodhound_relations/bhrelations/web_ui.py URL: http://svn.apache.org/viewvc/bloodhound/trunk/bloodhound_relations/bhrelations/web_ui.py?rev=1579117r1=1579116r2=1579117view=diff == --- bloodhound/trunk/bloodhound_relations/bhrelations/web_ui.py (original) +++ bloodhound/trunk/bloodhound_relations/bhrelations/web_ui.py Wed Mar 19 03:13:17 2014 @@ -25,19 +25,21 @@ Ticket relations user interface. import re -from trac.core import Component, implements, TracError -from trac.resource import get_resource_url, Resource, \ - get_resource_shortname, get_resource_summary +from trac.core import Component, TracError, implements +from trac.resource import Resource, get_resource_shortname, \ + get_resource_summary, get_resource_url from trac.ticket.model import Ticket from trac.util import exception_to_unicode, to_unicode -from trac.web import IRequestHandler, IRequestFilter +from trac.web.api import IRequestFilter, IRequestHandler from trac.web.chrome import ITemplateProvider, add_warning -from bhrelations.api import RelationsSystem, ResourceIdSerializer, \ -TicketRelationsSpecifics, UnknownRelationType, NoSuchTicketError +from bhrelations.api import NoSuchTicketError, RelationsSystem, \ +ResourceIdSerializer, TicketRelationsSpecifics, \ +UnknownRelationType + from bhrelations.model import Relation -from bhrelations.validation import ValidationError from bhrelations.utils.translation import _ +from bhrelations.validation import ValidationError class RelationManagementModule(Component): @@ -95,9 +97,8 @@ class RelationManagementModule(Component try: dbrel = relsys.add(ticket, dest_ticket, -relation['type'], -relation['comment'], -req.authname) + relation['type'], + relation['comment'], req.authname) except NoSuchTicketError: data['error'] = _('Invalid ticket ID.') except UnknownRelationType: @@ -112,9 +113,10 @@ class RelationManagementModule(Component self.log.error(Failure sending notification on creation of relation: %s, exception_to_unicode(e)) -add_warning(req, _(The relation has been added, but an - error occurred while sending - notifications: %(message)s, +add_warning(req, _(The relation has been added, + but an error occurred while + sending notifications: + %(message)s, message=to_unicode(e))) if 'error' in data: @@ -125,7 +127,7 @@ class RelationManagementModule(Component data.update({ 'ticket': ticket, 'reltypes': sorted(relsys.get_relation_types().iteritems(), -key=lambda x: x[0]), + key=lambda x: x[0]), 'relations': self.get_ticket_relations(ticket
svn commit: r1578595 - /bloodhound/trunk/bloodhound_theme/bhtheme/templates/product_edit.html
Author: rjollos Date: Mon Mar 17 21:24:14 2014 New Revision: 1578595 URL: http://svn.apache.org/r1578595 Log: 0.8dev: Copied `product_edit.html` to `bh_product_edit.html`. The later will be modified for Bootstrap markup. Added: bloodhound/trunk/bloodhound_theme/bhtheme/templates/product_edit.html (with props) Added: bloodhound/trunk/bloodhound_theme/bhtheme/templates/product_edit.html URL: http://svn.apache.org/viewvc/bloodhound/trunk/bloodhound_theme/bhtheme/templates/product_edit.html?rev=1578595view=auto == --- bloodhound/trunk/bloodhound_theme/bhtheme/templates/product_edit.html (added) +++ bloodhound/trunk/bloodhound_theme/bhtheme/templates/product_edit.html Mon Mar 17 21:24:14 2014 @@ -0,0 +1,69 @@ +!--! + Licensed to the Apache Software Foundation (ASF) under one + or more contributor license agreements. See the NOTICE file + distributed with this work for additional information + regarding copyright ownership. The ASF licenses this file + to you 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. +-- + +!DOCTYPE html +PUBLIC -//W3C//DTD XHTML 1.0 Strict//EN +http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd; +html xmlns=http://www.w3.org/1999/xhtml; + xmlns:py=http://genshi.edgewall.org/; + xmlns:i18n=http://genshi.edgewall.org/i18n; + i18n:domain=multiproduct + xmlns:xi=http://www.w3.org/2001/XInclude; + xi:include href=layout.html / + head +py:choose test=product._exists + title py:when=TrueEdit Product ${product.name}/title + title py:otherwise=New Product/title +/py:choose + /head + + body +div id=content class=product + py:choose test=product._exists +h1 py:when=TrueEdit Product ${product.name}/h1 +h1 py:otherwise=New Product/h1 + /py:choose + + form id=edit action= method=post +div class=field + input type=hidden name=action value=edit / + labelShort name for the product (prefix):br / +input type=text id=prefix name=prefix size=32 value=${product.prefix or req.args.get('prefix')} readonly=${product._exists and 'readonly' or None}/ + /label + labelName of the product:br / +input type=text id=name name=name size=32 value=${product.name or req.args.get('name')} / + /label +/div +div class=field + fieldset class=iefix +label for=description i18n:msg=Description (you may use a tabindex=42 + href=${href.wiki('WikiFormatting')}WikiFormatting/a here):/label +ptextarea id=description name=description class=wikitext trac-resizable rows=10 cols=78 +${product.description}/textarea/p + /fieldset +/div +div class=buttons py:choose=product._exists + input py:when=True type=submit value=${_('Submit changes')} / + input py:otherwise= type=submit value=${_('Add Product')} / + input type=submit name=cancel value=${_('Cancel')} / +/div + /form +/div + /body +/html Propchange: bloodhound/trunk/bloodhound_theme/bhtheme/templates/product_edit.html -- svn:eol-style = native
svn commit: r1578599 - in /bloodhound/trunk/bloodhound_theme/bhtheme/templates: bh_product_edit.html product_edit.html
Author: rjollos Date: Mon Mar 17 21:29:44 2014 New Revision: 1578599 URL: http://svn.apache.org/r1578599 Log: 0.8dev: Fixed error in rename in r1578595. Added: bloodhound/trunk/bloodhound_theme/bhtheme/templates/bh_product_edit.html - copied unchanged from r1578595, bloodhound/trunk/bloodhound_theme/bhtheme/templates/product_edit.html Removed: bloodhound/trunk/bloodhound_theme/bhtheme/templates/product_edit.html
svn commit: r1578163 - /bloodhound/trunk/installer/bloodhound_setup.py
Author: rjollos Date: Sun Mar 16 21:20:28 2014 New Revision: 1578163 URL: http://svn.apache.org/r1578163 Log: 0.8dev: Follow-on to [1557980]. Avoid printing messy traceback from failed imports. Modified: bloodhound/trunk/installer/bloodhound_setup.py Modified: bloodhound/trunk/installer/bloodhound_setup.py URL: http://svn.apache.org/viewvc/bloodhound/trunk/installer/bloodhound_setup.py?rev=1578163r1=1578162r2=1578163view=diff == --- bloodhound/trunk/installer/bloodhound_setup.py (original) +++ bloodhound/trunk/installer/bloodhound_setup.py Sun Mar 16 21:20:28 2014 @@ -39,10 +39,9 @@ try: from trac.admin.console import TracAdmin from trac.config import Configuration except ImportError, e: -print (Requirements should be installed before running bloodhound_setup.py.\n - You can install them with the following command:\n - pip install -r requirements.txt\n) -traceback.print_exc() +print(Requirements must be installed before running bloodhound_setup.py.\n + You can install them with the following command:\n + pip install -r requirements.txt\n) sys.exit(1) try:
svn commit: r1578217 - /bloodhound/trunk/bloodhound_theme/bhtheme/templates/bh_query.html
Author: rjollos Date: Mon Mar 17 03:21:13 2014 New Revision: 1578217 URL: http://svn.apache.org/r1578217 Log: 0.8dev: Removed unneeded `span`. Modified: bloodhound/trunk/bloodhound_theme/bhtheme/templates/bh_query.html Modified: bloodhound/trunk/bloodhound_theme/bhtheme/templates/bh_query.html URL: http://svn.apache.org/viewvc/bloodhound/trunk/bloodhound_theme/bhtheme/templates/bh_query.html?rev=1578217r1=1578216r2=1578217view=diff == --- bloodhound/trunk/bloodhound_theme/bhtheme/templates/bh_query.html (original) +++ bloodhound/trunk/bloodhound_theme/bhtheme/templates/bh_query.html Mon Mar 17 03:21:13 2014 @@ -52,10 +52,9 @@ body div id=content class=query row - span class=span12h1$title small class=numrows(${ngettext('%(num)s match', '%(num)s matches', query.num_items)})/small/h1/span + h1 class=span12$title small class=numrows(${ngettext('%(num)s match', '%(num)s matches', query.num_items)})/small/h1 - div py:if=description id=description class=span12 - xml:space=preserve + div py:if=description id=description class=span12 xml:space=preserve ${wiki_to_html(context.child(report_resource), description)} /div @@ -298,11 +297,11 @@ /form /div - div class=span12 -div id=help class=help-block pull-right i18n:msg= - span class=label label-infoNote/span See a href=${href.wiki('TracQuery')}TracQuery/a - for help on using queries. -/div + div id=help class=span12 i18n:msg= +p class=help-block pull-right + span class=label label-infoNote/span + See a href=${href.wiki('TracQuery')}TracQuery/a for help on using queries. +/p /div /div
svn commit: r1578219 - /bloodhound/trunk/bloodhound_theme/bhtheme/templates/bh_report_list.html
Author: rjollos Date: Mon Mar 17 03:43:10 2014 New Revision: 1578219 URL: http://svn.apache.org/r1578219 Log: 0.8dev: Added a margin around the //Create new report// button. Modified: bloodhound/trunk/bloodhound_theme/bhtheme/templates/bh_report_list.html Modified: bloodhound/trunk/bloodhound_theme/bhtheme/templates/bh_report_list.html URL: http://svn.apache.org/viewvc/bloodhound/trunk/bloodhound_theme/bhtheme/templates/bh_report_list.html?rev=1578219r1=1578218r2=1578219view=diff == --- bloodhound/trunk/bloodhound_theme/bhtheme/templates/bh_report_list.html (original) +++ bloodhound/trunk/bloodhound_theme/bhtheme/templates/bh_report_list.html Mon Mar 17 03:43:10 2014 @@ -135,7 +135,7 @@ /div - div py:if='REPORT_CREATE' in perm class=buttons span12 + div py:if='REPORT_CREATE' in perm class=buttons btn-toolbar span12 form action= method=get id=create_report div input type=hidden name=action value=new /
svn commit: r1578221 - /bloodhound/trunk/bloodhound_dashboard/bhdashboard/widgets/templates/widget_cloud.html
Author: rjollos Date: Mon Mar 17 04:02:40 2014 New Revision: 1578221 URL: http://svn.apache.org/r1578221 Log: 0.8dev: Refactored template. Modified: bloodhound/trunk/bloodhound_dashboard/bhdashboard/widgets/templates/widget_cloud.html Modified: bloodhound/trunk/bloodhound_dashboard/bhdashboard/widgets/templates/widget_cloud.html URL: http://svn.apache.org/viewvc/bloodhound/trunk/bloodhound_dashboard/bhdashboard/widgets/templates/widget_cloud.html?rev=1578221r1=1578220r2=1578221view=diff == --- bloodhound/trunk/bloodhound_dashboard/bhdashboard/widgets/templates/widget_cloud.html (original) +++ bloodhound/trunk/bloodhound_dashboard/bhdashboard/widgets/templates/widget_cloud.html Mon Mar 17 04:02:40 2014 @@ -45,10 +45,7 @@ /span /py:def - py:if test=heading is not None - h3 style=display: inline;$heading/h3 - br/ - /py:if + h3 py:if=heading is not None style=display: inline;$heading/h3 py:if test=_view != view xi:include href=widget_alert.html py:with=msglabel = 'Warning'; msgbody = 'Unknown view ' + view /
svn commit: r1578223 - in /bloodhound/trunk/bloodhound_theme/bhtheme: templates/bh_roadmap.html theme.py
Author: rjollos Date: Mon Mar 17 04:09:03 2014 New Revision: 1578223 URL: http://svn.apache.org/r1578223 Log: 0.8dev: Added Bootstrap styling to Roadmap template. Refs #789. Initial patch by thimal. Modified: bloodhound/trunk/bloodhound_theme/bhtheme/templates/bh_roadmap.html bloodhound/trunk/bloodhound_theme/bhtheme/theme.py Modified: bloodhound/trunk/bloodhound_theme/bhtheme/templates/bh_roadmap.html URL: http://svn.apache.org/viewvc/bloodhound/trunk/bloodhound_theme/bhtheme/templates/bh_roadmap.html?rev=1578223r1=1578222r2=1578223view=diff == --- bloodhound/trunk/bloodhound_theme/bhtheme/templates/bh_roadmap.html (original) +++ bloodhound/trunk/bloodhound_theme/bhtheme/templates/bh_roadmap.html Mon Mar 17 04:09:03 2014 @@ -24,81 +24,91 @@ xmlns:py=http://genshi.edgewall.org/; xmlns:i18n=http://genshi.edgewall.org/i18n; xmlns:xi=http://www.w3.org/2001/XInclude; - xi:include href=layout.html / + xi:include href=layout.html/ + xi:include href=widget_macros.html/ head titleRoadmap/title /head body -div id=content class=roadmap +div id=content class=roadmap row - form id=prefs method=get action= -div - input type=checkbox id=showcompleted name=show value=completed - checked=${'completed' in show or None} / - label for=showcompletedShow completed milestones/label -/div -div - input type=checkbox id=hidenoduedate name=show value=noduedate - checked=${'noduedate' in show or None} / - label for=hidenoduedateHide milestones with no due date/label -/div -div class=buttons - input type=submit value=${_('Update')} / -/div - /form + h1 class=span12Roadmap/h1 - h1Roadmap/h1 + div class=span12 +div class=well + form id=prefs class=form-inline role=form method=get action= +div + label class=checkbox +input type=checkbox id=showcompleted name=show value=completed + checked=${'completed' in show or None}/ Show completed +milestones + /label + label class=checkbox +input type=checkbox id=hidenoduedate name=show value=noduedate + checked=${'noduedate' in show or None}/ Hide milestones with no due date + /label + input class=btn btn-default pull-right type=submit value=${_('Update')}/ +/div + /form +/div + /div - div class=milestones + div class=milestones span12 div py:for=idx, milestone in enumerate(milestones) class=milestone div class=info trac-progress py:with=mstats = milestone_stats[idx] h2a href=${href.milestone(milestone.name)} - Milestone: em${milestone.name}/em + span Milestone:/span em${milestone.name}/em /a/h2 py:choose p py:when=milestone.completed class=date i18n:msg params=duration, date - Completed ${dateinfo(milestone.completed)} ago (${format_datetime(milestone.completed)}) + Completed ${dateinfo(milestone.completed)} ago + (${format_datetime(milestone.completed)}) /i18n:msg /p p py:when=milestone.is_late class=date i18n:msg params=duration, date - strong${dateinfo(milestone.due)} late/strong (${format_datetime(milestone.due)}) + strong${dateinfo(milestone.due)} late/strong + (${format_datetime(milestone.due)}) /i18n:msg /p p py:when=milestone.due class=date i18n:msg params=duration, date - Due in ${dateinfo(milestone.due)} (${format_datetime(milestone.due)}) + Due in ${dateinfo(milestone.due)} + (${format_datetime(milestone.due)}) /i18n:msg /p p py:otherwise= class=date -No date set +span class=label label-warningNo date set/span /p /py:choose -xi:include href=progress_bar.html py:if=mstats.stats.count -py:with=stats = mstats.stats; interval_hrefs = mstats.interval_hrefs; - stats_href = mstats.stats_href/ +xi:include href=widget_progress.html py:if=mstats.stats.count +py:with=view = 'standard'; legend = True; + stats = mstats.stats; interval_hrefs = mstats.interval_hrefs; + stats_href = mstats.stats_href; / /div - div class=description xml:space=preserve + div py:if
svn commit: r1578228 - /bloodhound/trunk/RELEASE_NOTES
Author: rjollos Date: Mon Mar 17 05:00:37 2014 New Revision: 1578228 URL: http://svn.apache.org/r1578228 Log: 0.8dev: Updated release notes to account for recent change and clarification on a defect. Modified: bloodhound/trunk/RELEASE_NOTES Modified: bloodhound/trunk/RELEASE_NOTES URL: http://svn.apache.org/viewvc/bloodhound/trunk/RELEASE_NOTES?rev=1578228r1=1578227r2=1578228view=diff == --- bloodhound/trunk/RELEASE_NOTES (original) +++ bloodhound/trunk/RELEASE_NOTES Mon Mar 17 05:00:37 2014 @@ -9,10 +9,14 @@ * Improvements to ticket timeline (comments section). * BloodhoundSearch now supports Whoosh = 2.5.1 (upgraded from 2.4.1). * Fixed errors in BloodhoundRelations validation logic. + * Bootstrap template for the Roadmap view. * Numerous other important fixes and minor enhancements. + * Not fixed for this release - * New resources do not appear immediately (#613, #614, #620, #681, #719). + * Cache is not properly refreshed for resources including wiki pages, +milestones, components and permissions; leading to stale data being +displayed after INSERTs and DELETEs (#613, #614, #620, #681, #719, #748). * Products cannot be deleted (#517). * Duplicate relation is not added when batch modifying tickets (#761). * TicketDeleter component can't be used with BloodhoundTheme (#427).
svn commit: r1575837 - /bloodhound/trunk/RELEASE_NOTES
Author: rjollos Date: Mon Mar 10 06:12:22 2014 New Revision: 1575837 URL: http://svn.apache.org/r1575837 Log: 0.8dev: Clarification on Whoosh upgrade and fixed typo. Modified: bloodhound/trunk/RELEASE_NOTES Modified: bloodhound/trunk/RELEASE_NOTES URL: http://svn.apache.org/viewvc/bloodhound/trunk/RELEASE_NOTES?rev=1575837r1=1575836r2=1575837view=diff == --- bloodhound/trunk/RELEASE_NOTES (original) +++ bloodhound/trunk/RELEASE_NOTES Mon Mar 10 06:12:22 2014 @@ -7,7 +7,7 @@ from taking effect immediately. * Improved presentation of the Products page. * Improvements to ticket timeline (comments section). - * BloodhoundSearch now supports Woosh = 2.5.1. + * BloodhoundSearch now supports Whoosh = 2.5.1 (upgraded from 2.4.1). * Fixed errors in BloodhoundRelations validation logic. * Numerous other important fixes and minor enhancements.
svn commit: r1574802 - in /bloodhound/trunk/bloodhound_relations/bhrelations: tests/api.py validation.py
Author: rjollos Date: Thu Mar 6 08:47:29 2014 New Revision: 1574802 URL: http://svn.apache.org/r1574802 Log: 0.8dev: It was not possible to create multiple //is a parent of// relations. Refs #775. Modified: bloodhound/trunk/bloodhound_relations/bhrelations/tests/api.py bloodhound/trunk/bloodhound_relations/bhrelations/validation.py Modified: bloodhound/trunk/bloodhound_relations/bhrelations/tests/api.py URL: http://svn.apache.org/viewvc/bloodhound/trunk/bloodhound_relations/bhrelations/tests/api.py?rev=1574802r1=1574801r2=1574802view=diff == --- bloodhound/trunk/bloodhound_relations/bhrelations/tests/api.py (original) +++ bloodhound/trunk/bloodhound_relations/bhrelations/tests/api.py Thu Mar 6 08:47:29 2014 @@ -224,13 +224,13 @@ class ApiTestCase(BaseRelationsTestCase) parent2 = self._insert_and_load_ticket(A3) #act relations_system = self.relations_system -relations_system.add(child, parent1, parent) +relations_system.add(parent1, child, 'parent') self.assertRaises( ValidationError, relations_system.add, -child, parent2, -parent) +child, +'parent') def test_can_not_add_more_than_one_parents_via_children(self): #arrange @@ -239,12 +239,12 @@ class ApiTestCase(BaseRelationsTestCase) parent2 = self._insert_and_load_ticket(A3) #act relations_system = self.relations_system -relations_system.add(parent1, child, children) +relations_system.add(child, parent1, children) self.assertRaises( ValidationError, relations_system.add, -parent2, child, +parent2, children) def test_ticket_can_be_resolved(self): @@ -254,13 +254,13 @@ class ApiTestCase(BaseRelationsTestCase) parent2 = self._insert_and_load_ticket(A3) #act relations_system = self.relations_system -relations_system.add(parent1, child, children) -self.assertRaises( -ValidationError, -relations_system.add, -parent2, -child, -children) +relations_system.add(child, parent1, children) + +self.req.args['action'] = 'resolve' +warnings = \ +TicketRelationsSpecifics(self.env).validate_ticket(self.req, child) + +self.assertEqual(0, len(list(warnings))) def test_can_save_and_load_relation_time(self): #arrange @@ -397,53 +397,53 @@ class ApiTestCase(BaseRelationsTestCase) def test_cannot_create_other_relations_between_descendants(self): t1, t2, t3, t4, t5 = map(self._insert_and_load_ticket, 12345) -self.relations_system.add(t4, t2, parent) #t1 - t2 -self.relations_system.add(t3, t2, parent) # / \ -self.relations_system.add(t2, t1, parent) # t3t4 +self.relations_system.add(t2, t4, parent) #t1 - t2 +self.relations_system.add(t2, t3, parent) # / \ +self.relations_system.add(t1, t2, parent) # t3t4 self.assertRaises( ValidationError, -self.relations_system.add, t1, t2, dependent +self.relations_system.add, t2, t1, dependent ) self.assertRaises( ValidationError, -self.relations_system.add, t2, t1, dependent +self.relations_system.add, t1, t2, dependent ) self.assertRaises( ValidationError, -self.relations_system.add, t1, t4, dependent +self.relations_system.add, t4, t1, dependent ) self.assertRaises( ValidationError, -self.relations_system.add, t3, t1, dependent +self.relations_system.add, t1, t3, dependent ) try: -self.relations_system.add(t1, t5, dependent) -self.relations_system.add(t3, t4, dependent) +self.relations_system.add(t5, t1,dependent) +self.relations_system.add(t4, t3, dependent) except ValidationError: self.fail(Could not add valid relation.) def test_cannot_add_parent_if_this_would_cause_invalid_relations(self): t1, t2, t3, t4, t5 = map(self._insert_and_load_ticket, 12345) -self.relations_system.add(t4, t2, parent) #t1 - t2 -self.relations_system.add(t3, t2, parent) # / \ -self.relations_system.add(t2, t1, parent) # t3t4t5 -self.relations_system.add(t2, t5, dependent) +self.relations_system.add(t2, t4, parent) #t1 - t2 +self.relations_system.add(t2, t3, parent) # / \ +self.relations_system.add(t1, t2, parent) # t3t4t5 +self.relations_system.add(t5, t2, dependent
svn commit: r1574778 - /bloodhound/trunk/bloodhound_relations/bhrelations/validation.py
Author: rjollos Date: Thu Mar 6 06:03:15 2014 New Revision: 1574778 URL: http://svn.apache.org/r1574778 Log: 0.8dev: Moved `ValidationError` to the top of the module, per the convention in Trac. Modified: bloodhound/trunk/bloodhound_relations/bhrelations/validation.py Modified: bloodhound/trunk/bloodhound_relations/bhrelations/validation.py URL: http://svn.apache.org/viewvc/bloodhound/trunk/bloodhound_relations/bhrelations/validation.py?rev=1574778r1=1574777r2=1574778view=diff == --- bloodhound/trunk/bloodhound_relations/bhrelations/validation.py (original) +++ bloodhound/trunk/bloodhound_relations/bhrelations/validation.py Thu Mar 6 06:03:15 2014 @@ -26,6 +26,14 @@ from bhrelations.api import IRelationVal ResourceIdSerializer, TicketRelationsSpecifics +class ValidationError(TracError): +Exception raised when a validator fails. +def __init__(self, message, title=None, show_traceback=False): +super(ValidationError, self).__init__( +message, title, show_traceback) +self.failed_ids = [] + + class Validator(Component): implements(IRelationValidator) @@ -231,10 +239,3 @@ class BlockerValidator(Validator): error = ValidationError(error) error.failed_ids = path raise error - - -class ValidationError(TracError): -def __init__(self, message, title=None, show_traceback=False): -super(ValidationError, self).__init__( -message, title, show_traceback) -self.failed_ids = []
svn commit: r1574195 - in /bloodhound/trunk: bloodhound_multiproduct/multiproduct/product_admin.py bloodhound_multiproduct/multiproduct/templates/admin_products.html bloodhound_theme/bhtheme/templates
Author: rjollos Date: Tue Mar 4 20:50:32 2014 New Revision: 1574195 URL: http://svn.apache.org/r1574195 Log: 0.8dev: When attempting to add a product, preserve form data when a warning is raised. Refs #661. The warning messages were also made more specific. Modified: bloodhound/trunk/bloodhound_multiproduct/multiproduct/product_admin.py bloodhound/trunk/bloodhound_multiproduct/multiproduct/templates/admin_products.html bloodhound/trunk/bloodhound_theme/bhtheme/templates/bh_admin_products.html Modified: bloodhound/trunk/bloodhound_multiproduct/multiproduct/product_admin.py URL: http://svn.apache.org/viewvc/bloodhound/trunk/bloodhound_multiproduct/multiproduct/product_admin.py?rev=1574195r1=1574194r2=1574195view=diff == --- bloodhound/trunk/bloodhound_multiproduct/multiproduct/product_admin.py (original) +++ bloodhound/trunk/bloodhound_multiproduct/multiproduct/product_admin.py Tue Mar 4 20:50:32 2014 @@ -85,6 +85,7 @@ class ProductAdminPanel(TicketAdminPanel 'description':description, 'owner':owner, } +data = {} # Detail view? if product: @@ -105,27 +106,38 @@ class ProductAdminPanel(TicketAdminPanel default = self.config.get('ticket', 'default_product') if req.method == 'POST': # Add Product -if req.args.get('add') and req.args.get('prefix'): +if req.args.get('add'): req.perm.require('PRODUCT_CREATE') -if not owner: -add_warning(req, _('All fields are required!')) -req.redirect(req.href.admin(cat, page)) - -try: -prod = Product(self.env, keys) -except ResourceNotFound: -prod = Product(self.env) -prod.update_field_dict(keys) -prod.update_field_dict(field_data) -prod.insert() -add_notice(req, _('The product %(id)s has been added.', - id=prefix)) -req.redirect(req.href.admin(cat, page)) +if not (prefix and name and owner): +if not prefix: +add_warning(req, _(You must provide a prefix + for the product.)) +if not name: +add_warning(req, _(You must provide a name + for the product.)) +if not owner: +add_warning(req, _(You must provide an owner + for the product.)) +data['prefix'] = prefix +data['name'] = name +data['owner'] = owner +print data else: -if prod.prefix is None: -raise TracError(_('Invalid product id.')) -raise TracError(_(Product %(id)s already exists., - id=prefix)) +try: +prod = Product(self.env, keys) +except ResourceNotFound: +prod = Product(self.env) +prod.update_field_dict(keys) +prod.update_field_dict(field_data) +prod.insert() +add_notice(req, _('The product %(id)s has been ' + 'added.', id=prefix)) +req.redirect(req.href.admin(cat, page)) +else: +if prod.prefix is None: +raise TracError(_('Invalid product id.')) +raise TracError(_(Product %(id)s already exists., + id=prefix)) # Remove product elif req.args.get('remove'): @@ -149,10 +161,9 @@ class ProductAdminPanel(TicketAdminPanel _save_config(self.config, req, self.log) req.redirect(req.href.admin(cat, page)) -products = Product.select(self.env) -data = {'view': 'list', -'products': products, -'default': default} +data['view'] = 'list' +data['products'] = Product.select(self.env) +data['default'] = default if self.config.getbool('ticket', 'restrict_owner'): perm = PermissionSystem(self.env) def valid_owner(username): Modified: bloodhound/trunk
svn commit: r1574211 - /bloodhound/trunk/bloodhound_multiproduct/multiproduct/product_admin.py
Author: rjollos Date: Tue Mar 4 21:26:39 2014 New Revision: 1574211 URL: http://svn.apache.org/r1574211 Log: 0.8dev: Removed print statement from 1574195. Modified: bloodhound/trunk/bloodhound_multiproduct/multiproduct/product_admin.py Modified: bloodhound/trunk/bloodhound_multiproduct/multiproduct/product_admin.py URL: http://svn.apache.org/viewvc/bloodhound/trunk/bloodhound_multiproduct/multiproduct/product_admin.py?rev=1574211r1=1574210r2=1574211view=diff == --- bloodhound/trunk/bloodhound_multiproduct/multiproduct/product_admin.py (original) +++ bloodhound/trunk/bloodhound_multiproduct/multiproduct/product_admin.py Tue Mar 4 21:26:39 2014 @@ -121,7 +121,6 @@ class ProductAdminPanel(TicketAdminPanel data['prefix'] = prefix data['name'] = name data['owner'] = owner -print data else: try: prod = Product(self.env, keys)
svn commit: r1574383 - /bloodhound/trunk/RELEASE_NOTES
Author: rjollos Date: Wed Mar 5 05:38:34 2014 New Revision: 1574383 URL: http://svn.apache.org/r1574383 Log: 0.8dev: Updated release notes for Release 8. Modified: bloodhound/trunk/RELEASE_NOTES Modified: bloodhound/trunk/RELEASE_NOTES URL: http://svn.apache.org/viewvc/bloodhound/trunk/RELEASE_NOTES?rev=1574383r1=1574382r2=1574383view=diff == --- bloodhound/trunk/RELEASE_NOTES (original) +++ bloodhound/trunk/RELEASE_NOTES Wed Mar 5 05:38:34 2014 @@ -1,3 +1,24 @@ +0.8 + * i18n internationalization. + * Multiproduct support for CommitTicketUpdater. + * Quick Create Ticket form sets product based on context and forwards + values to the ticket form when More fields is selected. + * Fixed caching issue that prevented product-scope trac-admin commands + from taking effect immediately. + * Improved presentation of the Products page. + * Improvements to ticket timeline (comments section). + * BloodhoundSearch now supports Woosh = 2.5.1. + * Fixed errors in BloodhoundRelations validation logic. + * Numerous other important fixes and minor enhancements. + + * Not fixed for this release + * New resources do not appear immediately (#613, #614, #620, #681, #719). + * Products cannot be deleted (#517). + * Duplicate relation is not added when batch modifying tickets (#761). + * TicketDeleter component can't be used with BloodhoundTheme (#427). + * No product-scope permission checks on the global dashboard (#572). + * Inconsistencies in query views when running PostgreSQL (#730). + 0.7 * Duplicate ticket relation is integrated to the ticket workflow. * Several fixes for multiproduct installations with products that map to subdomains.
svn commit: r1573853 - in /bloodhound/trunk/bloodhound_relations/bhrelations: api.py tests/api.py
Author: rjollos Date: Tue Mar 4 05:17:01 2014 New Revision: 1573853 URL: http://svn.apache.org/r1573853 Log: 0.8dev: Validation that checked for open child tickets had reversed logic. Refs #746. The validation now checks whether the source ticket //is a parent of// any open tickets. Modified: bloodhound/trunk/bloodhound_relations/bhrelations/api.py bloodhound/trunk/bloodhound_relations/bhrelations/tests/api.py Modified: bloodhound/trunk/bloodhound_relations/bhrelations/api.py URL: http://svn.apache.org/viewvc/bloodhound/trunk/bloodhound_relations/bhrelations/api.py?rev=1573853r1=1573852r2=1573853view=diff == --- bloodhound/trunk/bloodhound_relations/bhrelations/api.py (original) +++ bloodhound/trunk/bloodhound_relations/bhrelations/api.py Tue Mar 4 05:17:01 2014 @@ -545,7 +545,7 @@ class TicketRelationsSpecifics(Component operations = self._get_operations_for_action(req, ticket, action) if 'set_resolution' in operations: for relation in [r for r in self.rls.get_relations(ticket) - if r['type'] == self.rls.CHILDREN_RELATION_TYPE]: + if r['type'] == self.rls.PARENT_RELATION_TYPE]: child_ticket = \ self._create_ticket_by_full_id(relation['destination']) if child_ticket['status'] != 'closed': Modified: bloodhound/trunk/bloodhound_relations/bhrelations/tests/api.py URL: http://svn.apache.org/viewvc/bloodhound/trunk/bloodhound_relations/bhrelations/tests/api.py?rev=1573853r1=1573852r2=1573853view=diff == --- bloodhound/trunk/bloodhound_relations/bhrelations/tests/api.py (original) +++ bloodhound/trunk/bloodhound_relations/bhrelations/tests/api.py Tue Mar 4 05:17:01 2014 @@ -452,9 +452,9 @@ class ApiTestCase(BaseRelationsTestCase) t2 = self._insert_and_load_ticket(2, status='closed') # / | \ t3 = self._insert_and_load_ticket(3) # t2 t3 t4 t4 = self._insert_and_load_ticket(4) -self.relations_system.add(t2, t1, parent) -self.relations_system.add(t3, t1, parent) -self.relations_system.add(t4, t1, parent) +self.relations_system.add(t1, t2, parent) +self.relations_system.add(t1, t3, parent) +self.relations_system.add(t1, t4, parent) # A warning is be returned for each open ticket self.req.args[action] = 'resolve'
svn commit: r1573857 - /bloodhound/trunk/bloodhound_relations/bhrelations/validation.py
Author: rjollos Date: Tue Mar 4 05:25:43 2014 New Revision: 1573857 URL: http://svn.apache.org/r1573857 Log: 0.8dev: Make exception message in `OneToManyValidator` translatable and use markup to emphasize text. Refs #776, Modified: bloodhound/trunk/bloodhound_relations/bhrelations/validation.py Modified: bloodhound/trunk/bloodhound_relations/bhrelations/validation.py URL: http://svn.apache.org/viewvc/bloodhound/trunk/bloodhound_relations/bhrelations/validation.py?rev=1573857r1=1573856r2=1573857view=diff == --- bloodhound/trunk/bloodhound_relations/bhrelations/validation.py (original) +++ bloodhound/trunk/bloodhound_relations/bhrelations/validation.py Tue Mar 4 05:25:43 2014 @@ -17,8 +17,10 @@ # specific language governing permissions and limitations # under the License. +from genshi.builder import tag from trac.core import Component, implements, TracError from trac.resource import get_resource_shortname +from trac.util.translation import tag_ from bhrelations.api import IRelationValidator, RelationsSystem, \ ResourceIdSerializer, TicketRelationsSpecifics @@ -182,10 +184,11 @@ class OneToManyValidator(Validator): relation.type) if existing_relations: raise ValidationError( -%s can only have one %s % ( -relation.source, -self.render_relation_type(relation.type) -)) +tag_(Resource %(source)s can only have one %(relation)s + relation., + source=tag.em(relation.source), + relation=tag.b(self.render_relation_type(relation.type))) +) class ReferencesOlderValidator(Validator):
svn commit: r1573278 - in /bloodhound/trunk/bloodhound_multiproduct/tests: admin/__init__.py db/__init__.py mimeview/__init__.py ticket/__init__.py versioncontrol/__init__.py web/__init__.py wiki/__in
Author: rjollos Date: Sun Mar 2 10:31:18 2014 New Revision: 1573278 URL: http://svn.apache.org/r1573278 Log: 0.8dev: Package tests can be executed using `__init__` in the module path. For example: $ PYTHONPATH=. python -m tests.wiki.__init__ Modified: bloodhound/trunk/bloodhound_multiproduct/tests/admin/__init__.py bloodhound/trunk/bloodhound_multiproduct/tests/db/__init__.py bloodhound/trunk/bloodhound_multiproduct/tests/mimeview/__init__.py bloodhound/trunk/bloodhound_multiproduct/tests/ticket/__init__.py bloodhound/trunk/bloodhound_multiproduct/tests/versioncontrol/__init__.py bloodhound/trunk/bloodhound_multiproduct/tests/web/__init__.py bloodhound/trunk/bloodhound_multiproduct/tests/wiki/__init__.py Modified: bloodhound/trunk/bloodhound_multiproduct/tests/admin/__init__.py URL: http://svn.apache.org/viewvc/bloodhound/trunk/bloodhound_multiproduct/tests/admin/__init__.py?rev=1573278r1=1573277r2=1573278view=diff == --- bloodhound/trunk/bloodhound_multiproduct/tests/admin/__init__.py (original) +++ bloodhound/trunk/bloodhound_multiproduct/tests/admin/__init__.py Sun Mar 2 10:31:18 2014 @@ -17,9 +17,13 @@ # specific language governing permissions and limitations # under the License. -Tests for Apache(TM) Bloodhound's administration in product environments - +import unittest from tests import TestLoader + def test_suite(): -return TestLoader().discover_package(__name__, pattern='*.py') +return TestLoader().discover_package(__package__, pattern='*.py') + + +if __name__ == '__main__': +unittest.main(defaultTest='test_suite') Modified: bloodhound/trunk/bloodhound_multiproduct/tests/db/__init__.py URL: http://svn.apache.org/viewvc/bloodhound/trunk/bloodhound_multiproduct/tests/db/__init__.py?rev=1573278r1=1573277r2=1573278view=diff == --- bloodhound/trunk/bloodhound_multiproduct/tests/db/__init__.py (original) +++ bloodhound/trunk/bloodhound_multiproduct/tests/db/__init__.py Sun Mar 2 10:31:18 2014 @@ -17,7 +17,13 @@ # specific language governing permissions and limitations # under the License. +import unittest from tests import TestLoader + def test_suite(): -return TestLoader().discover_package(__name__, pattern='*.py') +return TestLoader().discover_package(__package__, pattern='*.py') + + +if __name__ == '__main__': +unittest.main(defaultTest='test_suite') Modified: bloodhound/trunk/bloodhound_multiproduct/tests/mimeview/__init__.py URL: http://svn.apache.org/viewvc/bloodhound/trunk/bloodhound_multiproduct/tests/mimeview/__init__.py?rev=1573278r1=1573277r2=1573278view=diff == --- bloodhound/trunk/bloodhound_multiproduct/tests/mimeview/__init__.py (original) +++ bloodhound/trunk/bloodhound_multiproduct/tests/mimeview/__init__.py Sun Mar 2 10:31:18 2014 @@ -17,9 +17,13 @@ # specific language governing permissions and limitations # under the License. -Tests for Apache(TM) Bloodhound's MIME API in product environments - +import unittest from tests import TestLoader + def test_suite(): -return TestLoader().discover_package(__name__, pattern='*.py') +return TestLoader().discover_package(__package__, pattern='*.py') + + +if __name__ == '__main__': +unittest.main(defaultTest='test_suite') Modified: bloodhound/trunk/bloodhound_multiproduct/tests/ticket/__init__.py URL: http://svn.apache.org/viewvc/bloodhound/trunk/bloodhound_multiproduct/tests/ticket/__init__.py?rev=1573278r1=1573277r2=1573278view=diff == --- bloodhound/trunk/bloodhound_multiproduct/tests/ticket/__init__.py (original) +++ bloodhound/trunk/bloodhound_multiproduct/tests/ticket/__init__.py Sun Mar 2 10:31:18 2014 @@ -17,9 +17,13 @@ # specific language governing permissions and limitations # under the License. -Tests for Apache(TM) Bloodhound's tickets in product environments - +import unittest from tests import TestLoader + def test_suite(): -return TestLoader().discover_package(__name__, pattern='*.py') +return TestLoader().discover_package(__package__, pattern='*.py') + + +if __name__ == '__main__': +unittest.main(defaultTest='test_suite') Modified: bloodhound/trunk/bloodhound_multiproduct/tests/versioncontrol/__init__.py URL: http://svn.apache.org/viewvc/bloodhound/trunk/bloodhound_multiproduct/tests/versioncontrol/__init__.py?rev=1573278r1=1573277r2=1573278view=diff == --- bloodhound/trunk/bloodhound_multiproduct/tests/versioncontrol/__init__.py (original) +++ bloodhound/trunk/bloodhound_multiproduct/tests/versioncontrol/__init__.py Sun Mar 2 10:31:18 2014 @@ -17,9 +17,13 @@ # specific language governing permissions and limitations
svn commit: r1573456 - /bloodhound/trunk/bloodhound_theme/bhtheme/htdocs/js/theme.js
Author: rjollos Date: Mon Mar 3 06:30:20 2014 New Revision: 1573456 URL: http://svn.apache.org/r1573456 Log: 0.8dev: Reformat file to fix style and indentation. Modified: bloodhound/trunk/bloodhound_theme/bhtheme/htdocs/js/theme.js Modified: bloodhound/trunk/bloodhound_theme/bhtheme/htdocs/js/theme.js URL: http://svn.apache.org/viewvc/bloodhound/trunk/bloodhound_theme/bhtheme/htdocs/js/theme.js?rev=1573456r1=1573455r2=1573456view=diff == --- bloodhound/trunk/bloodhound_theme/bhtheme/htdocs/js/theme.js (original) +++ bloodhound/trunk/bloodhound_theme/bhtheme/htdocs/js/theme.js Mon Mar 3 06:30:20 2014 @@ -1,286 +1,289 @@ /* - Licensed to the Apache Software Foundation (ASF) under one - or more contributor license agreements. See the NOTICE file - distributed with this work for additional information - regarding copyright ownership. The ASF licenses this file - to you 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. -*/ - -$( function () { -var qct_result = {}; -var qct_timeout = null; -var grayed_out_controls = '#content, [role*=application], #vc-summary, #inplace-propertyform, #attachments, .activityfeed, #help'; - - -// Do not close dropdown menu if user interacts with form controls -$('.dropdown-menu input, .dropdown-menu label, .dropdown-menu select' + -', .dropdown-menu textarea').click(function (e) { e.stopPropagation(); }); - -function qct_inline_close() -{ - $(grayed_out_controls).css('opacity', ''); - $('form:not(#qct-inline-form) :input').removeAttr('disabled'); - if ($('#qct-inline').is(':visible')) - { -$('#qct-inline').hide({'duration': 400}); - } + Licensed to the Apache Software Foundation (ASF) under one + or more contributor license agreements. See the NOTICE file + distributed with this work for additional information + regarding copyright ownership. The ASF licenses this file + to you 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. + */ + +$(function() { + var qct_result = {}; + var qct_timeout = null; + var grayed_out_controls = '#content, [role*=application], #vc-summary, #inplace-propertyform, #attachments, .activityfeed, #help'; + + + // Do not close dropdown menu if user interacts with form controls + $('.dropdown-menu input, .dropdown-menu label, .dropdown-menu select' + +', .dropdown-menu textarea').click(function(e) { +e.stopPropagation(); + }); + + function qct_inline_close() { +$(grayed_out_controls).css('opacity', ''); +$('form:not(#qct-inline-form) :input').removeAttr('disabled'); +if ($('#qct-inline').is(':visible')) { + $('#qct-inline').hide({'duration': 400}); } + } -// If the window is resized, close the inline form + re-enable -// all other forms to prevent undesirable behaviour. For example, -// resizing the window to a -desktop size when inline form is -// shown would result in the form disappearing (ok), but all other -// forms would still be disabled (not ok). -// NOTE - currently disabled due to certain phones resizing the -// window when the form controls are focused (e.g. input) -/* -$(window).resize(function() { - qct_inline_close(); -}); -*/ + // If the window is resized, close the inline form + re-enable + // all other forms to prevent undesirable behaviour. For example, + // resizing the window to a -desktop size when inline form is + // shown would result in the form disappearing (ok), but all other + // forms would still be disabled (not ok). + // NOTE - currently disabled due to certain phones resizing the + // window when the form controls are focused (e.g. input) + /* + $(window).resize(function() { + qct_inline_close(); + }); + */ + + function checkSelections() { +return $.inArray('', $('#qct-box select[data-optional=false]').map(function() { + return $(this).val(); +})) == -1; + } -function checkSelections
svn commit: r1573459 - in /bloodhound/trunk/bloodhound_theme/bhtheme: htdocs/bloodhound.css templates/bloodhound_theme.html theme.py
Author: rjollos Date: Mon Mar 3 07:07:53 2014 New Revision: 1573459 URL: http://svn.apache.org/r1573459 Log: 0.8dev: Fixed regression in r1570616: the product at scope is no longer the default selection. Refs #727. The code in `theme.py` was also refactored to simplify preparation of the `options` dictionary. Modified: bloodhound/trunk/bloodhound_theme/bhtheme/htdocs/bloodhound.css bloodhound/trunk/bloodhound_theme/bhtheme/templates/bloodhound_theme.html bloodhound/trunk/bloodhound_theme/bhtheme/theme.py Modified: bloodhound/trunk/bloodhound_theme/bhtheme/htdocs/bloodhound.css URL: http://svn.apache.org/viewvc/bloodhound/trunk/bloodhound_theme/bhtheme/htdocs/bloodhound.css?rev=1573459r1=1573458r2=1573459view=diff == --- bloodhound/trunk/bloodhound_theme/bhtheme/htdocs/bloodhound.css (original) +++ bloodhound/trunk/bloodhound_theme/bhtheme/htdocs/bloodhound.css Mon Mar 3 07:07:53 2014 @@ -343,7 +343,7 @@ ol.arabic { list-style-type: decimal margin-bottom: 5px; } #qct-more { -visibility: hidden; + visibility: hidden; } /* Modified: bloodhound/trunk/bloodhound_theme/bhtheme/templates/bloodhound_theme.html URL: http://svn.apache.org/viewvc/bloodhound/trunk/bloodhound_theme/bhtheme/templates/bloodhound_theme.html?rev=1573459r1=1573458r2=1573459view=diff == --- bloodhound/trunk/bloodhound_theme/bhtheme/templates/bloodhound_theme.html (original) +++ bloodhound/trunk/bloodhound_theme/bhtheme/templates/bloodhound_theme.html Mon Mar 3 07:07:53 2014 @@ -117,13 +117,15 @@ !--! create ticket button + dropdown -- py:def function=field_select(field) select id=field-${field.name} name=field_${field.name} -class=input-block-level data-field=${field.name} data-optional=${'true' if field.optional else 'false'} +class=input-block-level data-field=${field.name} +data-optional=${'true' if field.optional else 'false'} option value=${'' if field.optional else 'Choose...'}/option - option py:for=idx,option in enumerate(field.options) - py:with=description = field.options_desc[idx] if field.options_desc else option - selected=${field.value == option or None} - value = ${option.value} - data-product-new-ticket-url = ${option.product_new_ticket_url} + option py:for=option in field.options + py:with=description = option.description or option; + value = option.value or option + selected=${field.value == value or None} + value = $value + data-product-new-ticket-url = $option.new_ticket_url py:content=description/option optgroup py:for=optgroup in field.optgroups py:if=optgroup.options Modified: bloodhound/trunk/bloodhound_theme/bhtheme/theme.py URL: http://svn.apache.org/viewvc/bloodhound/trunk/bloodhound_theme/bhtheme/theme.py?rev=1573459r1=1573458r2=1573459view=diff == --- bloodhound/trunk/bloodhound_theme/bhtheme/theme.py (original) +++ bloodhound/trunk/bloodhound_theme/bhtheme/theme.py Mon Mar 3 07:07:53 2014 @@ -47,7 +47,6 @@ from bhdashboard.web_ui import Dashboard from bhdashboard import wiki from multiproduct.env import ProductEnvironment -from multiproduct.model import Product from multiproduct.web_ui import PRODUCT_RE, ProductModule from bhtheme.translation import _, add_domain @@ -532,7 +531,7 @@ class QuickCreateTicketDialog(Component) locale_dir = pkg_resources.resource_filename(__name__, 'locale') add_domain(self.env.path, locale_dir) super(QuickCreateTicketDialog, self).__init__(*args, **kwargs) - + # IRequestFilter(Interface): def pre_process_request(self, req, handler): @@ -556,26 +555,31 @@ class QuickCreateTicketDialog(Component) dum_req.perm = req.perm ticket = Ticket(self.env) tm._populate(dum_req, ticket, False) -all_fields = dict([f['name'], self.add_prod_new_ticket_url(dum_req, f)] +all_fields = dict([f['name'], f] for f in tm._prepare_fields(dum_req, ticket) if f['type'] == 'select') product_field = all_fields.get('product') if product_field: -# Filter out products for which user doesn't have TICKET_CREATE -product_field['options'] = \ -[prefix for prefix in product_field['options
svn commit: r1572372 - in /bloodhound/trunk/bloodhound_multiproduct/tests/admin: console-tests.txt console.py
Author: rjollos Date: Thu Feb 27 01:14:18 2014 New Revision: 1572372 URL: http://svn.apache.org/r1572372 Log: 0.8dev: Added tests for help command at product scope. Refs #757. Modified: bloodhound/trunk/bloodhound_multiproduct/tests/admin/console-tests.txt bloodhound/trunk/bloodhound_multiproduct/tests/admin/console.py Modified: bloodhound/trunk/bloodhound_multiproduct/tests/admin/console-tests.txt URL: http://svn.apache.org/viewvc/bloodhound/trunk/bloodhound_multiproduct/tests/admin/console-tests.txt?rev=1572372r1=1572371r2=1572372view=diff == --- bloodhound/trunk/bloodhound_multiproduct/tests/admin/console-tests.txt (original) +++ bloodhound/trunk/bloodhound_multiproduct/tests/admin/console-tests.txt Thu Feb 27 01:14:18 2014 @@ -1022,3 +1022,108 @@ name17 0 2010-01-18 val17 val17 name18 0 2010-01-19 val18 val18 name19 0 2010-01-20 val19 val19 += test_product_help_ok = +trac-admin - The Trac Administration Console 1.0.1 +help Show documentation +initenv Create and initialize a new environment +attachment add Attach a file to a resource +attachment exportExport an attachment from a resource to a file or stdout +attachment list List attachments of a resource +attachment removeRemove an attachment from a resource +changeset added Notify trac about changesets added to a repository +changeset modified Notify trac about changesets modified in a repository +component addAdd a new component +component chown Change component ownership +component list Show available components +component remove Remove/uninstall a component +component rename Rename a component +config get Get the value of the given option in trac.ini +config removeRemove the specified option from trac.ini +config set Set the value for the given option in trac.ini +deploy Extract static resources from Trac and all plugins +hotcopy Make a hot backup copy of an environment +milestone addAdd milestone +milestone completed Set milestone complete date +milestone dueSet milestone due date +milestone list Show milestones +milestone remove Remove milestone +milestone rename Rename milestone +permission add Add a new permission rule +permission exportExport permission rules to a file or stdout as CSV +permission importImport permission rules from a file or stdin as CSV +permission list List permission rules +permission removeRemove a permission rule +priority add Add a priority value option +priority change Change a priority value +priority listShow possible ticket priorities +priority order Move a priority value up or down in the list +priority remove Remove a priority value +repository add Add a source repository +repository alias Create an alias for a repository +repository list List source repositories +repository removeRemove a source repository +repository resyncRe-synchronize trac with repositories +repository set Set an attribute of a repository +repository sync Resume synchronization of repositories +resolution add Add a resolution value option +resolution changeChange a resolution value +resolution list Show possible ticket resolutions +resolution order Move a resolution value up or down in the list +resolution removeRemove a resolution value +session add Create a session for the given sid +session delete Delete the session of the specified sid +session list List the name and email for the given sids +session purgePurge all anonymous sessions older than the given age +session set Set the name or email attribute of the given sid +severity add Add a severity value option +severity change Change a severity value +severity listShow possible ticket severities +severity order Move a severity value up or down in the list +severity remove Remove a severity value +ticket removeRemove ticket +ticket_type add Add a ticket type +ticket_type change Change a ticket type +ticket_type list Show possible ticket types +ticket_type orderMove a ticket type up or down in the list +ticket_type remove Remove a ticket type +upgrade Upgrade database to current version +version add Add version +version list Show versions +version remove Remove version +version rename Rename version +version time Set version date +wiki dumpExport wiki pages to files named by title +wiki export Export wiki page to file or stdout +wiki import Import wiki page from file or stdin +wiki listList wiki pages +wiki loadImport wiki pages from files +wiki remove Remove wiki page +wiki rename
svn commit: r1572373 - /bloodhound/trunk/bloodhound_multiproduct/multiproduct/product_admin.py
Author: rjollos Date: Thu Feb 27 01:15:23 2014 New Revision: 1572373 URL: http://svn.apache.org/r1572373 Log: 0.8dev: Fix for help commands at product scope not being output. Refs #757. Patch by Olemis Lang. Modified: bloodhound/trunk/bloodhound_multiproduct/multiproduct/product_admin.py Modified: bloodhound/trunk/bloodhound_multiproduct/multiproduct/product_admin.py URL: http://svn.apache.org/viewvc/bloodhound/trunk/bloodhound_multiproduct/multiproduct/product_admin.py?rev=1572373r1=1572372r2=1572373view=diff == --- bloodhound/trunk/bloodhound_multiproduct/multiproduct/product_admin.py (original) +++ bloodhound/trunk/bloodhound_multiproduct/multiproduct/product_admin.py Thu Feb 27 01:15:23 2014 @@ -301,7 +301,7 @@ class ProductAdminModule(Component): mgr = self.product_admincmd_mgr(args[0]) return mgr.complete_command(args[1:]) -GLOBAL_COMMANDS = ('deploy', 'help', 'hotcopy', 'initenv', 'upgrade') +GLOBAL_COMMANDS = ('deploy', 'hotcopy', 'initenv', 'upgrade') def _do_product_admin(self, prefix, *args): mgr = self.product_admincmd_mgr(prefix)
svn commit: r1572374 - in /bloodhound/trunk/bloodhound_multiproduct/tests/admin: console-tests.txt console.py
Author: rjollos Date: Thu Feb 27 01:20:23 2014 New Revision: 1572374 URL: http://svn.apache.org/r1572374 Log: 0.8dev: Added tests for output of help when `trac-admin` is called at product-scope with improper arguments. Refs #756. Modified: bloodhound/trunk/bloodhound_multiproduct/tests/admin/console-tests.txt bloodhound/trunk/bloodhound_multiproduct/tests/admin/console.py Modified: bloodhound/trunk/bloodhound_multiproduct/tests/admin/console-tests.txt URL: http://svn.apache.org/viewvc/bloodhound/trunk/bloodhound_multiproduct/tests/admin/console-tests.txt?rev=1572374r1=1572373r2=1572374view=diff == --- bloodhound/trunk/bloodhound_multiproduct/tests/admin/console-tests.txt (original) +++ bloodhound/trunk/bloodhound_multiproduct/tests/admin/console-tests.txt Thu Feb 27 01:20:23 2014 @@ -1127,3 +1127,10 @@ version add name [time] Add version += test_product_fail_version_add = +Error: Invalid arguments + +version add name [time] + +Add version + Modified: bloodhound/trunk/bloodhound_multiproduct/tests/admin/console.py URL: http://svn.apache.org/viewvc/bloodhound/trunk/bloodhound_multiproduct/tests/admin/console.py?rev=1572374r1=1572373r2=1572374view=diff == --- bloodhound/trunk/bloodhound_multiproduct/tests/admin/console.py (original) +++ bloodhound/trunk/bloodhound_multiproduct/tests/admin/console.py Thu Feb 27 01:20:23 2014 @@ -84,6 +84,12 @@ class ProductTracAdminTestCase(Tracadmin expected = self.expected_results[self._testMethodName] self.assertEqual(expected, output) +def test_product_fail_version_add(self): +rv, output = self._execute('version add v x y') +self.assertEqual(2, rv) +expected = self.expected_results[self._testMethodName] +self.assertEqual(expected, output) + def test_suite(): return unittest.TestSuite([
svn commit: r1572392 - /bloodhound/trunk/bloodhound_multiproduct/tests/admin/console.py
Author: rjollos Date: Thu Feb 27 01:53:35 2014 New Revision: 1572392 URL: http://svn.apache.org/r1572392 Log: 0.8dev: Removed unused imports. Modified: bloodhound/trunk/bloodhound_multiproduct/tests/admin/console.py Modified: bloodhound/trunk/bloodhound_multiproduct/tests/admin/console.py URL: http://svn.apache.org/viewvc/bloodhound/trunk/bloodhound_multiproduct/tests/admin/console.py?rev=1572392r1=1572391r2=1572392view=diff == --- bloodhound/trunk/bloodhound_multiproduct/tests/admin/console.py (original) +++ bloodhound/trunk/bloodhound_multiproduct/tests/admin/console.py Thu Feb 27 01:53:35 2014 @@ -22,10 +22,8 @@ import os.path import sys import unittest -from StringIO import StringIO -from trac.admin.tests.console import STRIP_TRAILING_SPACE, \ - TracadminTestCase, load_expected_results +from trac.admin.tests.console import TracadminTestCase, load_expected_results from multiproduct.env import ProductEnvironment from tests.env import MultiproductTestCase @@ -94,7 +92,7 @@ class ProductTracAdminTestCase(Tracadmin def test_suite(): return unittest.TestSuite([ unittest.makeSuite(ProductTracAdminTestCase), -]) +]) if __name__ == '__main__':
svn commit: r1571311 - in /bloodhound/trunk: bloodhound_multiproduct/multiproduct/locale/ bloodhound_multiproduct/multiproduct/locale/es/LC_MESSAGES/ bloodhound_multiproduct/multiproduct/locale/fr/LC_
Author: rjollos Date: Mon Feb 24 15:06:27 2014 New Revision: 1571311 URL: http://svn.apache.org/r1571311 Log: 0.8dev: Added license headers to l10n files. Refs #694, #763. Modified: bloodhound/trunk/bloodhound_multiproduct/multiproduct/locale/es/LC_MESSAGES/multiproduct.po bloodhound/trunk/bloodhound_multiproduct/multiproduct/locale/fr/LC_MESSAGES/multiproduct.po bloodhound/trunk/bloodhound_multiproduct/multiproduct/locale/messages.pot bloodhound/trunk/bloodhound_relations/bhrelations/locale/es/LC_MESSAGES/bhrelations.po bloodhound/trunk/bloodhound_relations/bhrelations/locale/fr/LC_MESSAGES/bhrelations.po bloodhound/trunk/bloodhound_relations/bhrelations/locale/messages.pot bloodhound/trunk/bloodhound_search/bhsearch/locale/es/LC_MESSAGES/bhsearch.po bloodhound/trunk/bloodhound_search/bhsearch/locale/fr/LC_MESSAGES/bhsearch.po bloodhound/trunk/bloodhound_search/bhsearch/locale/messages.pot bloodhound/trunk/bloodhound_theme/bhtheme/locale/es/LC_MESSAGES/bhtheme-js.po bloodhound/trunk/bloodhound_theme/bhtheme/locale/es/LC_MESSAGES/bhtheme.po bloodhound/trunk/bloodhound_theme/bhtheme/locale/fr/LC_MESSAGES/bhtheme-js.po bloodhound/trunk/bloodhound_theme/bhtheme/locale/fr/LC_MESSAGES/bhtheme.po bloodhound/trunk/bloodhound_theme/bhtheme/locale/messages-js.pot bloodhound/trunk/bloodhound_theme/bhtheme/locale/messages.pot bloodhound/trunk/bloodhound_theme/messages-js.cfg Modified: bloodhound/trunk/bloodhound_multiproduct/multiproduct/locale/es/LC_MESSAGES/multiproduct.po URL: http://svn.apache.org/viewvc/bloodhound/trunk/bloodhound_multiproduct/multiproduct/locale/es/LC_MESSAGES/multiproduct.po?rev=1571311r1=1571310r2=1571311view=diff == --- bloodhound/trunk/bloodhound_multiproduct/multiproduct/locale/es/LC_MESSAGES/multiproduct.po (original) +++ bloodhound/trunk/bloodhound_multiproduct/multiproduct/locale/es/LC_MESSAGES/multiproduct.po Mon Feb 24 15:06:27 2014 @@ -1,3 +1,20 @@ +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you 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. + # Spanish translations for BloodhoundMultiProduct. # Copyright (C) 2013 Apache Software Foundation # This file is distributed under the same license as the Apache(TM) Modified: bloodhound/trunk/bloodhound_multiproduct/multiproduct/locale/fr/LC_MESSAGES/multiproduct.po URL: http://svn.apache.org/viewvc/bloodhound/trunk/bloodhound_multiproduct/multiproduct/locale/fr/LC_MESSAGES/multiproduct.po?rev=1571311r1=1571310r2=1571311view=diff == --- bloodhound/trunk/bloodhound_multiproduct/multiproduct/locale/fr/LC_MESSAGES/multiproduct.po (original) +++ bloodhound/trunk/bloodhound_multiproduct/multiproduct/locale/fr/LC_MESSAGES/multiproduct.po Mon Feb 24 15:06:27 2014 @@ -1,3 +1,20 @@ +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you 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. + # Translations template for BloodhoundMultiProduct. # Copyright (C) 2014 ORGANIZATION # This file is distributed under the same license as the BloodhoundMultiProduct project. Modified: bloodhound/trunk/bloodhound_multiproduct/multiproduct/locale/messages.pot URL: http://svn.apache.org/viewvc/bloodhound/trunk/bloodhound_multiproduct/multiproduct/locale/messages.pot?rev=1571311r1=1571310r2=1571311view=diff == --- bloodhound/trunk/bloodhound_multiproduct
svn commit: r1571328 - /bloodhound/trunk/bloodhound_multiproduct/tests/admin/console.py
Author: rjollos Date: Mon Feb 24 16:10:52 2014 New Revision: 1571328 URL: http://svn.apache.org/r1571328 Log: 0.8dev: PEP-0008 changes. Modified: bloodhound/trunk/bloodhound_multiproduct/tests/admin/console.py Modified: bloodhound/trunk/bloodhound_multiproduct/tests/admin/console.py URL: http://svn.apache.org/viewvc/bloodhound/trunk/bloodhound_multiproduct/tests/admin/console.py?rev=1571328r1=1571327r2=1571328view=diff == --- bloodhound/trunk/bloodhound_multiproduct/tests/admin/console.py (original) +++ bloodhound/trunk/bloodhound_multiproduct/tests/admin/console.py Mon Feb 24 16:10:52 2014 @@ -21,16 +21,17 @@ import os.path import sys -from StringIO import StringIO import unittest +from StringIO import StringIO -from trac.admin.tests.console import load_expected_results, \ -STRIP_TRAILING_SPACE, TracadminTestCase +from trac.admin.tests.console import STRIP_TRAILING_SPACE, \ + TracadminTestCase, load_expected_results from multiproduct.env import ProductEnvironment from tests.env import MultiproductTestCase -class ProductTracadminTestCase(TracadminTestCase, MultiproductTestCase): + +class ProductTracAdminTestCase(TracadminTestCase, MultiproductTestCase): expected_results = load_expected_results( os.path.join(os.path.split(__file__)[0], 'console-tests.txt'), @@ -43,12 +44,12 @@ class ProductTracadminTestCase(Tracadmin self.global_env = self._setup_test_env( enable=('trac.*', 'multiproduct.*'), disable=('trac.tests.*',), -) +) self._upgrade_mp(self.global_env) self._setup_test_log(self.global_env) self._load_product_from_data(self.global_env, self.default_product) -self._env = env = ProductEnvironment( -self.global_env, self.default_product) +self._env = env = ProductEnvironment(self.global_env, + self.default_product) self._load_default_data(env) return env @@ -92,8 +93,9 @@ class ProductTracadminTestCase(Tracadmin def test_suite(): return unittest.TestSuite([ -unittest.makeSuite(ProductTracadminTestCase,'test'), +unittest.makeSuite(ProductTracAdminTestCase), ]) + if __name__ == '__main__': unittest.main(defaultTest='test_suite')
svn commit: r1571341 - in /bloodhound/trunk/bloodhound_dashboard/bhdashboard/locale: es/LC_MESSAGES/bhdashboard.po fr/LC_MESSAGES/bhdashboard.po messages.pot
Author: rjollos Date: Mon Feb 24 16:33:54 2014 New Revision: 1571341 URL: http://svn.apache.org/r1571341 Log: 0.8dev: Files that should have been included in r1571311. Refs #694. Modified: bloodhound/trunk/bloodhound_dashboard/bhdashboard/locale/es/LC_MESSAGES/bhdashboard.po bloodhound/trunk/bloodhound_dashboard/bhdashboard/locale/fr/LC_MESSAGES/bhdashboard.po bloodhound/trunk/bloodhound_dashboard/bhdashboard/locale/messages.pot Modified: bloodhound/trunk/bloodhound_dashboard/bhdashboard/locale/es/LC_MESSAGES/bhdashboard.po URL: http://svn.apache.org/viewvc/bloodhound/trunk/bloodhound_dashboard/bhdashboard/locale/es/LC_MESSAGES/bhdashboard.po?rev=1571341r1=1571340r2=1571341view=diff == --- bloodhound/trunk/bloodhound_dashboard/bhdashboard/locale/es/LC_MESSAGES/bhdashboard.po (original) +++ bloodhound/trunk/bloodhound_dashboard/bhdashboard/locale/es/LC_MESSAGES/bhdashboard.po Mon Feb 24 16:33:54 2014 @@ -1,3 +1,20 @@ +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you 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. + # Translations template for BloodhoundDashboardPlugin. # Copyright (C) 2014 ORGANIZATION # This file is distributed under the same license as the BloodhoundDashboardPlugin project. Modified: bloodhound/trunk/bloodhound_dashboard/bhdashboard/locale/fr/LC_MESSAGES/bhdashboard.po URL: http://svn.apache.org/viewvc/bloodhound/trunk/bloodhound_dashboard/bhdashboard/locale/fr/LC_MESSAGES/bhdashboard.po?rev=1571341r1=1571340r2=1571341view=diff == --- bloodhound/trunk/bloodhound_dashboard/bhdashboard/locale/fr/LC_MESSAGES/bhdashboard.po (original) +++ bloodhound/trunk/bloodhound_dashboard/bhdashboard/locale/fr/LC_MESSAGES/bhdashboard.po Mon Feb 24 16:33:54 2014 @@ -1,3 +1,20 @@ +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you 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. + # Translations template for BloodhoundDashboardPlugin. # Copyright (C) 2014 ORGANIZATION # This file is distributed under the same license as the BloodhoundDashboardPlugin project. Modified: bloodhound/trunk/bloodhound_dashboard/bhdashboard/locale/messages.pot URL: http://svn.apache.org/viewvc/bloodhound/trunk/bloodhound_dashboard/bhdashboard/locale/messages.pot?rev=1571341r1=1571340r2=1571341view=diff == --- bloodhound/trunk/bloodhound_dashboard/bhdashboard/locale/messages.pot (original) +++ bloodhound/trunk/bloodhound_dashboard/bhdashboard/locale/messages.pot Mon Feb 24 16:33:54 2014 @@ -1,3 +1,20 @@ +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you 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. + # Translations template for BloodhoundDashboardPlugin. # Copyright (C
svn commit: r1571498 - /bloodhound/trunk/bloodhound_multiproduct/tests/admin/console.py
Author: rjollos Date: Tue Feb 25 00:16:54 2014 New Revision: 1571498 URL: http://svn.apache.org/r1571498 Log: 0.8dev: Removed `_execute` method from `ProductTracAdminTestCase`. Refs #768. The base class method will be called instead. Modified: bloodhound/trunk/bloodhound_multiproduct/tests/admin/console.py Modified: bloodhound/trunk/bloodhound_multiproduct/tests/admin/console.py URL: http://svn.apache.org/viewvc/bloodhound/trunk/bloodhound_multiproduct/tests/admin/console.py?rev=1571498r1=1571497r2=1571498view=diff == --- bloodhound/trunk/bloodhound_multiproduct/tests/admin/console.py (original) +++ bloodhound/trunk/bloodhound_multiproduct/tests/admin/console.py Tue Feb 25 00:16:54 2014 @@ -61,35 +61,6 @@ class ProductTracAdminTestCase(Tracadmin self.global_env.reset_db() self.global_env = self._env = None -def _execute(self, cmd, strip_trailing_space=True, input=None): -_in = sys.stdin -_err = sys.stderr -_out = sys.stdout -try: -if input: -sys.stdin = StringIO(input.encode('utf-8')) -sys.stdin.encoding = 'utf-8' # fake input encoding -sys.stderr = sys.stdout = out = StringIO() -out.encoding = 'utf-8' # fake output encoding -retval = None -try: -retval = self._admin.onecmd(cmd) -except SystemExit: -pass -value = out.getvalue() -if isinstance(value, str): # reverse what print_listing did -value = value.decode('utf-8') -if retval != 0: -self.env.log.debug('trac-admin failure: %s', value) -if strip_trailing_space: -return retval, STRIP_TRAILING_SPACE.sub('', value) -else: -return retval, value -finally: -sys.stdin = _in -sys.stderr = _err -sys.stdout = _out - def test_suite(): return unittest.TestSuite([
svn commit: r1570407 - /bloodhound/trunk/bloodhound_theme/bhtheme/templates/bh_ticket.html
Author: rjollos Date: Fri Feb 21 01:05:39 2014 New Revision: 1570407 URL: http://svn.apache.org/r1570407 Log: 0.8dev: Removed unused variable and spurious line break. Modified: bloodhound/trunk/bloodhound_theme/bhtheme/templates/bh_ticket.html Modified: bloodhound/trunk/bloodhound_theme/bhtheme/templates/bh_ticket.html URL: http://svn.apache.org/viewvc/bloodhound/trunk/bloodhound_theme/bhtheme/templates/bh_ticket.html?rev=1570407r1=1570406r2=1570407view=diff == --- bloodhound/trunk/bloodhound_theme/bhtheme/templates/bh_ticket.html (original) +++ bloodhound/trunk/bloodhound_theme/bhtheme/templates/bh_ticket.html Fri Feb 21 01:05:39 2014 @@ -70,8 +70,7 @@ install_workflow(); $('#edit-cancel, #edit-cancel-below').click(revert_ticket); -var modify_elem = $('#modify'); -modify_elem.parent().hide(); +$('#modify').parent().hide(); $('#propertyform .buttons [name=preview]').hide(); $('#comment').change(function (e) { $('#hidden-comment').val($('#comment').val()); @@ -183,8 +182,7 @@ var action = action_ui.find('input[name=action]').val(); var newowner = action_ui.find('input[id$=_reassign_owner]').val(); var newresolution = action_ui.find('select[id$=_resolution]').val(); -var newlabel = action_ui.find('label[for^=action_]') -.text(); +var newlabel = action_ui.find('label[for^=action_]').text(); if (action === 'leave') newlabel = newlabel + ' as ' + $('#vc-status a').text(); else if (newowner)
svn commit: r1570414 - /bloodhound/trunk/bloodhound_multiproduct/multiproduct/ticket/batch.py
Author: rjollos Date: Fri Feb 21 02:00:48 2014 New Revision: 1570414 URL: http://svn.apache.org/r1570414 Log: 0.8dev: PEP-0008 whitespace changes. Modified: bloodhound/trunk/bloodhound_multiproduct/multiproduct/ticket/batch.py Modified: bloodhound/trunk/bloodhound_multiproduct/multiproduct/ticket/batch.py URL: http://svn.apache.org/viewvc/bloodhound/trunk/bloodhound_multiproduct/multiproduct/ticket/batch.py?rev=1570414r1=1570413r2=1570414view=diff == --- bloodhound/trunk/bloodhound_multiproduct/multiproduct/ticket/batch.py (original) +++ bloodhound/trunk/bloodhound_multiproduct/multiproduct/ticket/batch.py Fri Feb 21 02:00:48 2014 @@ -24,10 +24,11 @@ from multiproduct.util.translation impor class ProductBatchModifyModule(BatchModifyModule): + def add_template_data(self, req, data, tickets): if isinstance(self.env, ProductEnvironment): -super(ProductBatchModifyModule, self).add_template_data( -req, data, tickets) +super(ProductBatchModifyModule, self).add_template_data(req, data, +tickets) return data['batch_modify'] = True @@ -40,12 +41,13 @@ class ProductBatchModifyModule(BatchModi data['action_controls'] = [] global_env = ProductEnvironment.lookup_global_env(self.env) cache = {} -for k,v in tickets_by_product.iteritems(): -batchmdl = cache.get(k or '') -if batchmdl is None: +for k, v in tickets_by_product.iteritems(): +batch_module = cache.get(k or '') +if batch_module is None: env = ProductEnvironment(global_env, k) if k else global_env -cache[k] = batchmdl = ProductBatchModifyModule(env) -data['action_controls'] += batchmdl._get_action_controls(req, v) +cache[k] = batch_module = ProductBatchModifyModule(env) +data['action_controls'] += batch_module._get_action_controls(req, + v) batch_list_modes = [ {'name': _(add), 'value': +}, {'name': _(remove), 'value': -}, @@ -53,7 +55,7 @@ class ProductBatchModifyModule(BatchModi {'name': _(set to), 'value': =}, ] add_script_data(req, batch_list_modes=batch_list_modes, - batch_list_properties=self._get_list_fields()) +batch_list_properties=self._get_list_fields()) import trac.ticket.batch trac.ticket.batch.BatchModifyModule = ProductBatchModifyModule
svn commit: r1570461 [2/2] - in /bloodhound/trunk: bloodhound_dashboard/ bloodhound_dashboard/bhdashboard/ bloodhound_dashboard/bhdashboard/layouts/ bloodhound_dashboard/bhdashboard/util/ bloodhound_d
Modified: bloodhound/trunk/bloodhound_theme/setup.cfg URL: http://svn.apache.org/viewvc/bloodhound/trunk/bloodhound_theme/setup.cfg?rev=1570461r1=1570460r2=1570461view=diff == --- bloodhound/trunk/bloodhound_theme/setup.cfg (original) +++ bloodhound/trunk/bloodhound_theme/setup.cfg Fri Feb 21 06:12:41 2014 @@ -25,8 +25,7 @@ formats = gztar,bztar,ztar,tar,zip [extract_messages] add_comments = TRANSLATOR: -copyright_holder = Apache Software Foundation -msgid_bugs_address = d...@bloodhound.apache.org +msgid_bugs_address = output_file = bhtheme/locale/messages.pot keywords = _ ngettext:1,2 N_ tag_ tagn_:1,2 Option:4 BoolOption:4 IntOption:4 ListOption:6 ExtensionOption:5 PathOption:4 no-wrap = true Modified: bloodhound/trunk/installer/bloodhound_setup.py URL: http://svn.apache.org/viewvc/bloodhound/trunk/installer/bloodhound_setup.py?rev=1570461r1=1570460r2=1570461view=diff == --- bloodhound/trunk/installer/bloodhound_setup.py (original) +++ bloodhound/trunk/installer/bloodhound_setup.py Fri Feb 21 06:12:41 2014 @@ -1,5 +1,5 @@ #!/usr/bin/env python - +# # Licensed to the Apache Software Foundation (ASF) under one # or more contributor license agreements. See the NOTICE file # distributed with this work for additional information Modified: bloodhound/trunk/installer/createdigest.py URL: http://svn.apache.org/viewvc/bloodhound/trunk/installer/createdigest.py?rev=1570461r1=1570460r2=1570461view=diff == --- bloodhound/trunk/installer/createdigest.py (original) +++ bloodhound/trunk/installer/createdigest.py Fri Feb 21 06:12:41 2014 @@ -1,5 +1,5 @@ #!/usr/bin/env python - +# # Licensed to the Apache Software Foundation (ASF) under one # or more contributor license agreements. See the NOTICE file # distributed with this work for additional information Modified: bloodhound/trunk/installer/tests.py URL: http://svn.apache.org/viewvc/bloodhound/trunk/installer/tests.py?rev=1570461r1=1570460r2=1570461view=diff == --- bloodhound/trunk/installer/tests.py (original) +++ bloodhound/trunk/installer/tests.py Fri Feb 21 06:12:41 2014 @@ -1,3 +1,5 @@ +# -*- coding: utf-8 -*- +# # Licensed to the Apache Software Foundation (ASF) under one # or more contributor license agreements. See the NOTICE file # distributed with this work for additional information
svn commit: r1567988 - /bloodhound/branches/trac-1.0-stable-integration/
Author: rjollos Date: Thu Feb 13 17:57:01 2014 New Revision: 1567988 URL: http://svn.apache.org/r1567988 Log: Created branch for integrating changes from Trac 1.0-stable. Refs #660. Added: bloodhound/branches/trac-1.0-stable-integration/ (props changed) - copied from r1567987, bloodhound/trunk/ Propchange: bloodhound/branches/trac-1.0-stable-integration/ -- --- svn:auto-props (added) +++ svn:auto-props Thu Feb 13 17:57:01 2014 @@ -0,0 +1,5 @@ +*.html = svn:eol-style=native +*.js = svn:eol-style=native +*.css = svn:eol-style=native +*.py = svn:eol-style=native +*.xml = svn:eol-style=native Propchange: bloodhound/branches/trac-1.0-stable-integration/ -- --- svn:ignore (added) +++ svn:ignore Thu Feb 13 17:57:01 2014 @@ -0,0 +1,7 @@ +*.DS_Store +.idea +.project +.pydevproject +.git +.gitignore +.hg Propchange: bloodhound/branches/trac-1.0-stable-integration/ -- --- svn:mergeinfo (added) +++ svn:mergeinfo Thu Feb 13 17:57:01 2014 @@ -0,0 +1,3 @@ +/bloodhound/branches/bep_0003_multiproduct:1461360-1463488 +/bloodhound/branches/bep_0010_ticket_numbering:1506462-1517786 +/incubator/bloodhound/branches/bep_0003_multiproduct:1420073-1461359
svn commit: r1568172 - in /bloodhound/trunk/trac/trac: ticket/query.py util/introspection.py util/tests/introspection.py
Author: rjollos Date: Fri Feb 14 00:09:21 2014 New Revision: 1568172 URL: http://svn.apache.org/r1568172 Log: 0.8dev: Reverse merge [1301696]. Equivalent changes will be implemented in `multiproduct.ticket.web_ui:ProductQueryModule`. Removed: bloodhound/trunk/trac/trac/util/introspection.py bloodhound/trunk/trac/trac/util/tests/introspection.py Modified: bloodhound/trunk/trac/trac/ticket/query.py Modified: bloodhound/trunk/trac/trac/ticket/query.py URL: http://svn.apache.org/viewvc/bloodhound/trunk/trac/trac/ticket/query.py?rev=1568172r1=1568171r2=1568172view=diff == --- bloodhound/trunk/trac/trac/ticket/query.py (original) +++ bloodhound/trunk/trac/trac/ticket/query.py Fri Feb 14 00:09:21 2014 @@ -40,7 +40,6 @@ from trac.util.datefmt import format_dat from trac.util.presentation import Paginator from trac.util.text import empty, shorten_line, quote_query_string from trac.util.translation import _, tag_, cleandoc_ -from trac.util.introspection import get_enabled_component_subclass from trac.web import arg_list_to_args, parse_arg_list, IRequestHandler from trac.web.href import Href from trac.web.chrome import (INavigationContributor, Chrome, @@ -873,7 +872,7 @@ class QueryModule(Component): def get_navigation_items(self, req): from trac.ticket.report import ReportModule if 'TICKET_VIEW' in req.perm and \ -get_enabled_component_subclass(self.env, ReportModule) is None: +not self.env.is_component_enabled(ReportModule): yield ('mainnav', 'tickets', tag.a(_('View Tickets'), href=req.href.query()))
svn commit: r1568197 - in /bloodhound/trunk: bloodhound_dashboard/bhdashboard/templates/ bloodhound_multiproduct/ bloodhound_multiproduct/multiproduct/ bloodhound_multiproduct/multiproduct/templates/
Author: rjollos Date: Fri Feb 14 04:21:59 2014 New Revision: 1568197 URL: http://svn.apache.org/r1568197 Log: 0.8dev: Normalized license headers. Prevent rendering license headers in templates. Modified: bloodhound/trunk/bloodhound_dashboard/bhdashboard/templates/bh_model_view.html bloodhound/trunk/bloodhound_multiproduct/multiproduct/__init__.py bloodhound/trunk/bloodhound_multiproduct/multiproduct/api.py bloodhound/trunk/bloodhound_multiproduct/multiproduct/config.py bloodhound/trunk/bloodhound_multiproduct/multiproduct/core.py bloodhound/trunk/bloodhound_multiproduct/multiproduct/dbcursor.py bloodhound/trunk/bloodhound_multiproduct/multiproduct/env.py bloodhound/trunk/bloodhound_multiproduct/multiproduct/hooks.py bloodhound/trunk/bloodhound_multiproduct/multiproduct/model.py bloodhound/trunk/bloodhound_multiproduct/multiproduct/perm.py bloodhound/trunk/bloodhound_multiproduct/multiproduct/product_admin.py bloodhound/trunk/bloodhound_multiproduct/multiproduct/templates/admin_products.html bloodhound/trunk/bloodhound_multiproduct/multiproduct/templates/repository_links.html bloodhound/trunk/bloodhound_multiproduct/multiproduct/ticket/__init__.py bloodhound/trunk/bloodhound_multiproduct/multiproduct/ticket/batch.py bloodhound/trunk/bloodhound_multiproduct/multiproduct/ticket/query.py bloodhound/trunk/bloodhound_multiproduct/multiproduct/ticket/web_ui.py bloodhound/trunk/bloodhound_multiproduct/multiproduct/util.py bloodhound/trunk/bloodhound_multiproduct/multiproduct/versioncontrol.py bloodhound/trunk/bloodhound_multiproduct/multiproduct/web_ui.py bloodhound/trunk/bloodhound_multiproduct/setup.py bloodhound/trunk/bloodhound_search/bhsearch/templates/bhsearch.html bloodhound/trunk/bloodhound_search/bhsearch/templates/bhsearch_breadcrumbs.html Modified: bloodhound/trunk/bloodhound_dashboard/bhdashboard/templates/bh_model_view.html URL: http://svn.apache.org/viewvc/bloodhound/trunk/bloodhound_dashboard/bhdashboard/templates/bh_model_view.html?rev=1568197r1=1568196r2=1568197view=diff == --- bloodhound/trunk/bloodhound_dashboard/bhdashboard/templates/bh_model_view.html (original) +++ bloodhound/trunk/bloodhound_dashboard/bhdashboard/templates/bh_model_view.html Fri Feb 14 04:21:59 2014 @@ -1,7 +1,3 @@ -!DOCTYPE html -PUBLIC -//W3C//DTD XHTML 1.0 Strict//EN -http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd; - !--! Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file @@ -21,6 +17,9 @@ under the License. -- +!DOCTYPE html +PUBLIC -//W3C//DTD XHTML 1.0 Strict//EN +http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd; div xmlns=http://www.w3.org/1999/xhtml; xmlns:py=http://genshi.edgewall.org/; xmlns:i18n=http://genshi.edgewall.org/i18n; Modified: bloodhound/trunk/bloodhound_multiproduct/multiproduct/__init__.py URL: http://svn.apache.org/viewvc/bloodhound/trunk/bloodhound_multiproduct/multiproduct/__init__.py?rev=1568197r1=1568196r2=1568197view=diff == --- bloodhound/trunk/bloodhound_multiproduct/multiproduct/__init__.py (original) +++ bloodhound/trunk/bloodhound_multiproduct/multiproduct/__init__.py Fri Feb 14 04:21:59 2014 @@ -1,4 +1,5 @@ - +# -*- coding: UTF-8 -*- +# # Licensed to the Apache Software Foundation (ASF) under one # or more contributor license agreements. See the NOTICE file # distributed with this work for additional information @@ -16,8 +17,7 @@ # specific language governing permissions and limitations # under the License. -multiproduct module +import multiproduct.ticket from multiproduct.api import MultiProductSystem from multiproduct.product_admin import ProductAdminPanel -import multiproduct.ticket from multiproduct.web_ui import ProductModule Modified: bloodhound/trunk/bloodhound_multiproduct/multiproduct/api.py URL: http://svn.apache.org/viewvc/bloodhound/trunk/bloodhound_multiproduct/multiproduct/api.py?rev=1568197r1=1568196r2=1568197view=diff == --- bloodhound/trunk/bloodhound_multiproduct/multiproduct/api.py (original) +++ bloodhound/trunk/bloodhound_multiproduct/multiproduct/api.py Fri Feb 14 04:21:59 2014 @@ -1,4 +1,5 @@ - +# -*- coding: UTF-8 -*- +# # Licensed to the Apache Software Foundation (ASF) under one # or more contributor license agreements. See the NOTICE file # distributed with this work for additional information @@ -16,8 +17,6 @@ # specific language governing permissions and limitations # under the License. -Core components to support multi-product - import copy import os import shutil Modified: bloodhound/trunk/bloodhound_multiproduct/multiproduct/config.py URL: http://svn.apache.org/viewvc
svn commit: r1568199 - /bloodhound/trunk/bloodhound_multiproduct/multiproduct/__init__.py
Author: rjollos Date: Fri Feb 14 04:52:43 2014 New Revision: 1568199 URL: http://svn.apache.org/r1568199 Log: 0.8dev: Fixed import issue introduced in [1568197]. Modified: bloodhound/trunk/bloodhound_multiproduct/multiproduct/__init__.py Modified: bloodhound/trunk/bloodhound_multiproduct/multiproduct/__init__.py URL: http://svn.apache.org/viewvc/bloodhound/trunk/bloodhound_multiproduct/multiproduct/__init__.py?rev=1568199r1=1568198r2=1568199view=diff == --- bloodhound/trunk/bloodhound_multiproduct/multiproduct/__init__.py (original) +++ bloodhound/trunk/bloodhound_multiproduct/multiproduct/__init__.py Fri Feb 14 04:52:43 2014 @@ -17,7 +17,7 @@ # specific language governing permissions and limitations # under the License. -import multiproduct.ticket from multiproduct.api import MultiProductSystem from multiproduct.product_admin import ProductAdminPanel +from multiproduct.ticket import * from multiproduct.web_ui import ProductModule