Skip to content

Commit

Permalink
Add Python 3 compatibility
Browse files Browse the repository at this point in the history
  • Loading branch information
laulaz committed Jun 11, 2024
1 parent d439ae7 commit 4cbadc5
Show file tree
Hide file tree
Showing 14 changed files with 52 additions and 52 deletions.
2 changes: 1 addition & 1 deletion src/collective/iconifiedcategory/adapter.py
Original file line number Diff line number Diff line change
Expand Up @@ -255,7 +255,7 @@ def is_convertible(self):
"""
# collective.documentviewer add an entry to the annotations
annotations = IAnnotations(self.context)
if 'collective.documentviewer' not in annotations.keys():
if 'collective.documentviewer' not in list(annotations.keys()):
Settings(self.context)

settings = GlobalSettings(api.portal.get())
Expand Down
8 changes: 4 additions & 4 deletions src/collective/iconifiedcategory/browser/actionview.py
Original file line number Diff line number Diff line change
Expand Up @@ -61,11 +61,11 @@ def __call__(self):

def get_current_values(self):
return {k: getattr(self.context, k)
for k in self.attribute_mapping.keys()}
for k in list(self.attribute_mapping.keys())}

def get_values(self):
return {k: self.convert_boolean(self.request.get(v))
for k, v in self.attribute_mapping.items()}
for k, v in list(self.attribute_mapping.items())}

def _may_set_values(self, values, ):
res = bool(api.user.has_permission(ModifyPortalContent, obj=self.context))
Expand All @@ -85,7 +85,7 @@ def set_values(self, values):

old_values = self.get_current_values()

for key, value in values.items():
for key, value in list(values.items()):
self._set_value(key, value)
status, msg = self._get_status(values), utils.boolean_message(
self.context, attr_name=self.attr_name)
Expand All @@ -105,7 +105,7 @@ def set_values(self, values):
return status, msg

def _get_status(self, values):
value = values.get(self.attribute_mapping.keys()[0], None)
value = values.get(list(self.attribute_mapping.keys())[0], None)
if value is False:
return 0
elif value is True:
Expand Down
4 changes: 2 additions & 2 deletions src/collective/iconifiedcategory/browser/contentview.py
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ def category_group(self):

def updateWidgets(self):
super(FormMixin, self).updateWidgets()
for name, widget in self.widgets.items():
for name, widget in list(self.widgets.items()):
related_attribute = self.related_widgets.get(name)
if not related_attribute:
continue
Expand Down Expand Up @@ -68,7 +68,7 @@ class BaseView(DefaultView):

def updateWidgets(self):
super(BaseView, self).updateWidgets()
for rel_widget, rel_attribute in self.related_widgets.items():
for rel_widget, rel_attribute in list(self.related_widgets.items()):
parent_value = getattr(
self.context.get_category_group(),
rel_attribute,
Expand Down
8 changes: 4 additions & 4 deletions src/collective/iconifiedcategory/browser/views.py
Original file line number Diff line number Diff line change
Expand Up @@ -70,10 +70,10 @@ def categories_infos(self):
'icon': e['icon_url']})
for e in self.categorized_elements]
infos = OrderedDict(infos)
for key, element in infos.items():
for key, element in list(infos.items()):
element['counts'] = len([e for e in self.categorized_elements
if e['category_uid'] == key])
return infos.values()
return list(infos.values())


class ManageCategorizedChildView(BrowserView):
Expand Down Expand Up @@ -117,9 +117,9 @@ def show_preview(self, element):

@property
def categories_uids(self):
return OrderedDict.fromkeys(
return list(OrderedDict.fromkeys(
[e['category_uid'] for e in self.categorized_elements],
).keys()
).keys())

def infos(self):
infos = OrderedDict([(e, []) for e in self.categories_uids])
Expand Down
4 changes: 2 additions & 2 deletions src/collective/iconifiedcategory/setuphandlers.py
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ def create_config(context):
)
groups.append(obj)
for group_idx, group in enumerate(groups):
for cat_idx in reversed(range(1, 4)):
for cat_idx in reversed(list(range(1, 4))):
filename = u'icône{0}.png'.format(cat_idx)
f = open(os.path.join(current_path, 'tests', filename), 'r')
icon = namedfile.NamedBlobFile(f.read(), filename=filename)
Expand All @@ -48,7 +48,7 @@ def create_config(context):
icon=icon,
predefined_title=title,
)
for idx in reversed(range(1, 3)):
for idx in reversed(list(range(1, 3))):
api.content.create(
type='ContentSubcategory',
title='Subcategory {0}-{1}-{2}'.format(
Expand Down
2 changes: 1 addition & 1 deletion src/collective/iconifiedcategory/tests/test_actionview.py
Original file line number Diff line number Diff line change
Expand Up @@ -77,7 +77,7 @@ def test_set_values(self):

# will be correctly set if format is managed
gsettings = GlobalSettings(self.portal)
gsettings.auto_layout_file_types = CONVERTABLE_TYPES.keys()
gsettings.auto_layout_file_types = list(CONVERTABLE_TYPES.keys())
view.set_values({'to_print': True})
self.assertTrue(obj.to_print, obj.aq_parent.categorized_elements[obj.UID()]['to_print'])
view.set_values({'to_print': False})
Expand Down
6 changes: 3 additions & 3 deletions src/collective/iconifiedcategory/tests/test_adapter.py
Original file line number Diff line number Diff line change
Expand Up @@ -223,7 +223,7 @@ class TestCategorizedObjectPrintableAdapter(BaseTestCase):
def setUp(self):
super(TestCategorizedObjectPrintableAdapter, self).setUp()
gsettings = GlobalSettings(self.portal)
gsettings.auto_layout_file_types = CONVERTABLE_TYPES.keys()
gsettings.auto_layout_file_types = list(CONVERTABLE_TYPES.keys())

def test_is_printable_default(self):
obj = self.portal.file_txt
Expand Down Expand Up @@ -283,7 +283,7 @@ def test_is_convertible(self):
self.assertFalse(preview_adapter.is_convertible())

# right enable every file_types in collective.documentviewer
gsettings.auto_layout_file_types = CONVERTABLE_TYPES.keys()
gsettings.auto_layout_file_types = list(CONVERTABLE_TYPES.keys())

convertables = (
'application/msword',
Expand Down Expand Up @@ -335,7 +335,7 @@ def test_status(self):
self.assertFalse(preview_adapter.converted)

# enable every supported types including txt
gsettings.auto_layout_file_types = CONVERTABLE_TYPES.keys()
gsettings.auto_layout_file_types = list(CONVERTABLE_TYPES.keys())
obj.file.contentType = 'text/plain'
# collective.documentviewer checks if element was modified
# or it does not convert again
Expand Down
6 changes: 3 additions & 3 deletions src/collective/iconifiedcategory/tests/test_behaviors.py
Original file line number Diff line number Diff line change
Expand Up @@ -89,7 +89,7 @@ def test_content_category_to_print_on_creation(self):
category_group.to_be_printed_activated = True
# enable conversion
gsettings = GlobalSettings(self.portal)
gsettings.auto_layout_file_types = CONVERTABLE_TYPES.keys()
gsettings.auto_layout_file_types = list(CONVERTABLE_TYPES.keys())

# set to False
category.to_print = False
Expand Down Expand Up @@ -171,7 +171,7 @@ def test_content_category_to_print_only_set_if_convertible_when_conversion_enabl
content_category=content_category_id)
# enable conversion
gsettings = GlobalSettings(self.portal)
gsettings.auto_layout_file_types = CONVERTABLE_TYPES.keys()
gsettings.auto_layout_file_types = list(CONVERTABLE_TYPES.keys())
file2.file.contentType = 'text/unknown'

notify(ObjectModifiedEvent(file2))
Expand Down Expand Up @@ -243,7 +243,7 @@ def test_content_category_changed_default_values(self):
# enable conversion and back to category11
category11.to_print = True
gsettings = GlobalSettings(self.portal)
gsettings.auto_layout_file_types = CONVERTABLE_TYPES.keys()
gsettings.auto_layout_file_types = list(CONVERTABLE_TYPES.keys())
# set to_print to False, aka the default value of category12
obj.to_print = False
setattr(adapted_obj, 'content_category', category11_id)
Expand Down
2 changes: 1 addition & 1 deletion src/collective/iconifiedcategory/tests/test_css.py
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ def test__call__(self):
def test_css_recooked(self):
"""portal_css is recooked when a category is added/moved/removed."""
def _current_css_cachekey():
cachekey = [k for k, v in self.portal.portal_css.concatenatedResourcesByTheme['Plone Default'].items()
cachekey = [k for k, v in list(self.portal.portal_css.concatenatedResourcesByTheme['Plone Default'].items())
if 'collective-iconifiedcategory.css' in v and '-cachekey-' in k][0]
return cachekey
# portal_css is cooked, the collective-iconfiedcategory.css is stored in a cachekey cooked css
Expand Down
38 changes: 19 additions & 19 deletions src/collective/iconifiedcategory/tests/test_events.py
Original file line number Diff line number Diff line change
Expand Up @@ -49,25 +49,25 @@ def test_categorized_elements_correct_after_copy_paste_categorized_content(self)
file_obj_UID = file_obj.UID()
img_obj = self.portal['image']
img_obj_UID = img_obj.UID()
self.assertEquals(len(self.portal.categorized_elements), 2)
self.assertEqual(len(self.portal.categorized_elements), 2)
self.assertTrue(file_obj_UID in self.portal.categorized_elements)
self.assertTrue(img_obj_UID in self.portal.categorized_elements)
self.assertListEqual([dic['relative_url'] for dic in self.portal.categorized_elements.values()],
self.assertListEqual([dic['relative_url'] for dic in list(self.portal.categorized_elements.values())],
['file_txt', 'image'])
# copy paste a contained categorized content
copied_data = self.portal.manage_copyObjects(ids=[file_obj.getId()])
infos = self.portal.manage_pasteObjects(copied_data)
new_file = self.portal[infos[0]['new_id']]
new_file_UID = new_file.UID()
self.assertEquals(len(self.portal.categorized_elements), 3)
self.assertEqual(len(self.portal.categorized_elements), 3)
self.assertTrue(file_obj_UID in self.portal.categorized_elements)
self.assertTrue(img_obj_UID in self.portal.categorized_elements)
self.assertTrue(new_file_UID in self.portal.categorized_elements)
self.assertListEqual([dic['relative_url'] for dic in self.portal.categorized_elements.values()],
self.assertListEqual([dic['relative_url'] for dic in list(self.portal.categorized_elements.values())],
['file_txt', 'copy_of_file_txt', 'image'])
# rename the object
api.content.rename(obj=new_file, new_id='new_file_txt')
self.assertListEqual([dic['relative_url'] for dic in self.portal.categorized_elements.values()],
self.assertListEqual([dic['relative_url'] for dic in list(self.portal.categorized_elements.values())],
['file_txt', 'new_file_txt', 'image'])
# cut paste the object
container = api.content.create(
Expand All @@ -77,14 +77,14 @@ def test_categorized_elements_correct_after_copy_paste_categorized_content(self)
)
copied_data = self.portal.manage_cutObjects(ids=['new_file_txt'])
infos = container.manage_pasteObjects(copied_data)
self.assertEquals(len(self.portal.categorized_elements), 2)
self.assertEqual(len(self.portal.categorized_elements), 2)
self.assertTrue(file_obj_UID in self.portal.categorized_elements)
self.assertTrue(img_obj_UID in self.portal.categorized_elements)
self.assertListEqual([dic['relative_url'] for dic in self.portal.categorized_elements.values()],
self.assertListEqual([dic['relative_url'] for dic in list(self.portal.categorized_elements.values())],
['file_txt', 'image'])
self.assertEquals(len(container.categorized_elements), 1)
self.assertEqual(len(container.categorized_elements), 1)
self.assertTrue(new_file_UID in container.categorized_elements)
self.assertListEqual([dic['relative_url'] for dic in container.categorized_elements.values()],
self.assertListEqual([dic['relative_url'] for dic in list(container.categorized_elements.values())],
['folder/new_file_txt'])

def test_categorized_elements_correct_after_moving_categorized_content_container(self):
Expand Down Expand Up @@ -113,20 +113,20 @@ def test_categorized_elements_correct_after_moving_categorized_content_container
confidential=False,
)
file_obj2_UID = file_obj2.UID()
self.assertEquals(len(container.categorized_elements), 2)
self.assertEqual(len(container.categorized_elements), 2)
self.assertTrue(file_obj1_UID in container.categorized_elements)
self.assertTrue(file_obj2_UID in container.categorized_elements)
self.assertFalse(base_hasattr(file_obj1, 'categorized_elements'))
# check original categorized_elements
self.assertListEqual([dic['relative_url'] for dic in container.categorized_elements.values()],
self.assertListEqual([dic['relative_url'] for dic in list(container.categorized_elements.values())],
['folder/file1', 'folder/file2'])
# copy/paste the container
copied_data = self.portal.manage_copyObjects(ids=[container.getId()])
infos = self.portal.manage_pasteObjects(copied_data)
self.assertFalse(base_hasattr(file_obj1, 'categorized_elements'))
new_container = self.portal[infos[0]['new_id']]
self.assertEquals(len(new_container.categorized_elements), 2)
self.assertListEqual([dic['relative_url'] for dic in new_container.categorized_elements.values()],
self.assertEqual(len(new_container.categorized_elements), 2)
self.assertListEqual([dic['relative_url'] for dic in list(new_container.categorized_elements.values())],
['copy_of_folder/file1', 'copy_of_folder/file2'])
# old no more referenced
self.assertTrue(file_obj1_UID not in new_container.categorized_elements)
Expand All @@ -139,22 +139,22 @@ def test_categorized_elements_correct_after_moving_categorized_content_container
# rename the container
api.content.rename(obj=new_container, new_id='new_folder')
self.assertFalse(base_hasattr(file_obj1, 'categorized_elements'))
self.assertEquals(len(new_container.categorized_elements), 2)
self.assertListEqual([dic['relative_url'] for dic in new_container.categorized_elements.values()],
self.assertEqual(len(new_container.categorized_elements), 2)
self.assertListEqual([dic['relative_url'] for dic in list(new_container.categorized_elements.values())],
['new_folder/file1', 'new_folder/file2'])
# cut/paste the container
copied_data = self.portal.manage_cutObjects(ids=[new_container.getId()])
infos = container.manage_pasteObjects(copied_data)
self.assertFalse(base_hasattr(file_obj1, 'categorized_elements'))
new_container = container[infos[0]['new_id']]
self.assertEquals(len(container.categorized_elements), 2)
self.assertListEqual([dic['relative_url'] for dic in new_container.categorized_elements.values()],
self.assertEqual(len(container.categorized_elements), 2)
self.assertListEqual([dic['relative_url'] for dic in list(new_container.categorized_elements.values())],
['folder/new_folder/file1', 'folder/new_folder/file2'])
# rename the top level container, check the deepest
api.content.rename(obj=container, new_id='top_folder')
self.assertFalse(base_hasattr(file_obj1, 'categorized_elements'))
self.assertEquals(len(new_container.categorized_elements), 2)
self.assertListEqual([dic['relative_url'] for dic in new_container.categorized_elements.values()],
self.assertEqual(len(new_container.categorized_elements), 2)
self.assertListEqual([dic['relative_url'] for dic in list(new_container.categorized_elements.values())],
['top_folder/new_folder/file1', 'top_folder/new_folder/file2'])

def test_defer_categorized_content_created_event(self):
Expand Down
4 changes: 2 additions & 2 deletions src/collective/iconifiedcategory/tests/test_tabview.py
Original file line number Diff line number Diff line change
Expand Up @@ -81,7 +81,7 @@ def test_table_render_when_preview_enabled(self):
self.portal.portal_properties.site_properties.typesUseViewActionInListings = ()
# enable collective.documentviewer so document is convertible
gsettings = GlobalSettings(self.portal)
gsettings.auto_layout_file_types = CONVERTABLE_TYPES.keys()
gsettings.auto_layout_file_types = list(CONVERTABLE_TYPES.keys())
# initialize collective.documentviewer annotations on file
file_obj = self.portal['file_txt']
image_obj = self.portal['image']
Expand Down Expand Up @@ -113,7 +113,7 @@ def test_PrintColumn(self):

# enable collective.documentviewer so document is convertible
gsettings = GlobalSettings(self.portal)
gsettings.auto_layout_file_types = CONVERTABLE_TYPES.keys()
gsettings.auto_layout_file_types = list(CONVERTABLE_TYPES.keys())
# enable to_print management in configuration
category = utils.get_category_object(obj, obj.content_category)
category_group = category.get_category_group(category)
Expand Down
4 changes: 2 additions & 2 deletions src/collective/iconifiedcategory/tests/test_utils.py
Original file line number Diff line number Diff line change
Expand Up @@ -357,7 +357,7 @@ def test_get_categorized_elements(self):
utils.get_categorized_elements(self.portal,
portal_type='Document'),
result)
self.failIf(utils.get_categorized_elements(self.portal,
self.assertFalse(utils.get_categorized_elements(self.portal,
portal_type='Document2'))
# ask the objects
self.assertEqual(
Expand Down Expand Up @@ -487,7 +487,7 @@ def test_update_categorized_elements(self):
result = ['doc1', 'Doc4', 'doc10', 'CV Info N\xc2\xb02016-1', 'CV Info N\xc2\xb02016-2']
self.assertEqual(
result,
[e['title'] for e in self.portal.categorized_elements.values()],
[e['title'] for e in list(self.portal.categorized_elements.values())],
)
api.content.delete(document1)
api.content.delete(document2)
Expand Down
4 changes: 2 additions & 2 deletions src/collective/iconifiedcategory/tests/test_views.py
Original file line number Diff line number Diff line change
Expand Up @@ -115,7 +115,7 @@ def test_categories_uids(self):
def test_infos(self):
self.viewinfos.update()
infos = self.viewinfos.infos()
self.assertItemsEqual([self.viewinfos.category_uid], infos.keys())
self.assertItemsEqual([self.viewinfos.category_uid], list(infos.keys()))
self.assertItemsEqual(
['file.txt', 'ic\xc3\xb4ne1.png'],
[e['title'] for e in infos[self.viewinfos.category_uid]],
Expand All @@ -124,7 +124,7 @@ def test_infos(self):
self.viewinfos.category_uid = self.config['group-1']['category-1-2'].UID()
self.viewinfos.update()
infos = self.viewinfos.infos()
self.assertItemsEqual([self.viewinfos.category_uid], infos.keys())
self.assertItemsEqual([self.viewinfos.category_uid], list(infos.keys()))
self.assertItemsEqual(
['A', 'B'],
[e['title'] for e in infos[self.viewinfos.category_uid]],
Expand Down
Loading

0 comments on commit 4cbadc5

Please sign in to comment.