安装时如何检查我的产品是否已安装?

2024-01-14

我想在导入步骤中执行部分代码,前提是产品本身尚未安装。

我尝试使用快速安装工具的“listInstalledProduct”方法。

但是,这将返回所有已安装的产品,但不会返回我自己的产品。

如何检查我的产品是否已安装在网站中?


在 Anne Walther(又名“再见”)的正确提示下,我可以找到解决方案:

from Products.CMFCore.utils import getToolByName
def myMethod(context):
    qi = getToolByName(context, 'portal_quickinstaller')

    prods = qi.listInstallableProducts(skipInstalled=False)

    for prod in prods:
        if (prod['id'] == 'your.productname') and (prod['status'] == 'new'):
        # further code...

无论出于何种原因,幸运的是,重新安装期间产品的状态将返回“已卸载”,尚未安装的产品将返回“新”状态,最后已安装的网站产品会自豪地大声喊出:“已安装” 。

这样就可以区分重新安装和初始安装。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

安装时如何检查我的产品是否已安装? 的相关文章

  • 无法将内容添加到新的 Plone 站点:ValueError:无法找到 update_version_before_edit 异常

    刚刚使用统一安装程序在 CentOs 上成功安装了 Plone 4 2 1 登录后我无法添加任何内容 我收到以下错误 Traceback innermost last Module ZPublisher Publish line 126 i
  • plone 中的文件是否存在与修订版本一样多的副本?

    在 plone 中 如果文件 或任何内容 被修改 例如 4 次 则存在多少个物理副本 我正在使用 plone 4 1 其中文件和图像存储在文件系统上 内容对象由多个持久记录组成 对于文件系统上包含二进制 blob 文件的图像和文件 当内容对
  • 通过 Dexterity 在字段集之间移动字段

    在 Archetypes 中 为了将字段从字段集 或模式 移动到另一个字段集 或模式 我们可以执行以下操作 schema creators schemata default 然而 我并没有使用敏捷来实现同样的目标 我尝试过使用表单提示 前任
  • 构建可以创建内容作为 Plone 安装的一部分吗?

    我正在尝试为站点实现 Plone 的可重复部署 并使用构建 基本上遵循 Martin Aspeli 的书专业Plone 4开发 我可以使用我的源产品设置系统
  • Plone 中是否有一种简单的方法可以在新用户加入门户时收到电子邮件通知?

    我希望每当新用户加入门户时都会向门户电子邮件地址发送电子邮件通知 我的猜测是我应该编写一个新产品来做到这一点 这样的产品是否已经存在 针对 Plone 4 我检查了内容规则 但据我所知 只有当我让用户对膜 记住之类的东西感到满意时 它才能起
  • Plon 4.3 默认编辑器未显示

    我有一个 Plone 4 3 站点 它是从 Plone 2 5 站点迁移而来的 它一直工作得很好 但由于某种原因 编辑任何页面或内容项时显示的默认编辑器是直接的 HTML 视图 我已经在 Firefox Chrome 和 Safari 中对
  • Portal_skins 文件夹中的嵌套覆盖

    如何覆盖嵌套的 Portal skins 文件夹中的文件 默认行为似乎是 如果您想覆盖单个文件 则需要复制整个文件夹结构 这是维护的噩梦 例如 如何覆盖文件 Producs TinyMCE skins tinymce plugins tab
  • Plone 4.3 升级后 TinyMCE 工具栏丢失

    我将 Plone 站点从 4 2 升级到 4 3 升级步骤基本上是 运行 install sh 以拥有 4 3 环境 将 Data fs 复制到 var filestorage 并将自定义敏捷包复制到 src 在ZMI中运行升级 一切看起来
  • 对于 genericsetup 导入步骤的名称,是否有一个很好的参考列表

    是否有通用设置导入步骤名称的综合参考列表 通用设置导入步骤的名称并不总是与其相应 xml 文件的名称匹配 例如 types xml 有一个名为 typeinfo 的导入步骤 如果没有列表 我会对一种简单的方法来查找导入步骤的名称感到满意 例
  • Apache 重写或代理

    我的机器上运行着一个 Apache 服务器 端口 80 我的机器上运行着 Zope 服务器 端口 8080 我希望所有用户 无论域如何 现在使用 www example com 都无缝地推送到 zope 实例 IE 如果我在浏览器中输入ht
  • 用于在用户填写后隐藏 ploneformgen 表单的 Python 脚本。 (对于 Plone-4.3.2-64。)

    用户填写了 ploneformgen 表单后 我想使用自定义脚本适配器调用 python 脚本来更改用户的本地角色 以便他们不再看到该表单 换句话说 我想防止用户两次填写 或查看 表单 我认为执行此操作的一种方法是调用位于表单文件夹中的脚本
  • 导航 portlet:所有子级始终展开

    如何使导航 portlet 即使对于未选定的文件夹也显示子文件夹 我的意思是初始树状态已完全展开 至少对于一个级别 即 直接子级 我正在查看 INavtreeStrategy SitemapNavtreeStrategy 和 INaviga
  • 标题和描述未使用 Collective.dexteritytextindexer 建立索引

    我有很多 Dexterity 内容类型 其中一些只是容器 只留下标题和描述 来自 plone app dexterity behaviors metadata IBasic 行为 我可以通过搜索标题或描述中的文本来找到它们 但对于我正在使用
  • 在 Plone 中针对特定内容类型自定义搜索 portlet

    我在网站的某些区域使用搜索 portlet 但我想将结果限制为仅搜索特定内容类型 例如仅搜索新闻项目 或仅显示教职员工目录个人资料 我知道你可以在到达后执行此操作 search通过该 过滤器 列表形成 但有没有办法从过滤器开始 以便 实时搜
  • 清理 Plone 文件存储中未使用的 blob

    有没有办法找到并删除 Plone 站点中未使用的 blob 存储空间 我正在寻找类似的东西bin zeopack 但这会检测到未使用的斑点blobstorage目录 ZODB 自行处理未使用的 blob 打包将根据需要删除 blob 以及删
  • 使用 plone.memoize.ram 使 memoize 无效/阻止

    我和 Zope 实用程序提供了一种执行网络进程的方法 由于结果在一段时间内有效 我正在使用plone memoize ram缓存结果 MyClass object cache cache key def do auth self adapt
  • Plon 全文索引 Excel 文件

    如何自定义 Plone 搜索引擎以激活 excel 文件的全文索引 我已经安装了 pdftotext 和 wv 用于 pdf word 文件全文索引 如果你添加产品 OpenXml https pypi python org pypi Pr
  • 新主题产品给出“ValueError:主题 my.theme 不可用”

    我使用这些说明通过 zopeskel 创建了一个新主题http docs plone org adapt and extend theming theme product with diazo html http docs plone or
  • IE7 和 TinyMCE 与 Plone

    在 Windows 服务器上开箱即用的 Plone 4 1 4 4113 中 IE7 上会出现一些客户端问题 我知道 访问主站点 没问题 登录 IE 引发运行时错误 第 505 行 扩展标识符 字符串或数字 添加内容 IE 引发运行时错误
  • 使用 plone.api 创建文件的 Python 脚本在设置文件时出现错误 WrongType

    Dears 我正在创建一个脚本python来在Plone站点中批量上传文件 安装是UnifiedInstaller Plone 4 3 10 该脚本读取了一个txt 并且该txt以分号分隔 在新创建的项目中设置文件时出现错误 下面是脚本 f

随机推荐

  • CALayer委托方法drawLayer没有被调用

    我的对象是 NSObject 的子类 具有 CALayer 实例变量 我用它来绘制和缓存内容 并将其委托设置为我的对象 但由于某种原因drawLayer inContext 方法永远不会被调用 然而actionForLayer forKey
  • 反应 select 值为 null

    我的 React 组件中有以下代码
  • 如何在 Kotlin 中获取 KType?

    我正在尝试 Kotlin 中的反射功能 但我似乎无法理解如何获取 KType 值 假设我有一个将短语映射到对象工厂的类 如果有歧义 用户可以提供type参数将搜索范围缩小到仅返回该类型对象 或某些子类型 的工厂 fun mapToFacto
  • 具有不同布局的分段 RecyclerView

    我有一个场景 我需要创建一个包含 3 个部分的 RecyclerView名为 First 的第一部分应显示 3 行 每行包含 TextView 和 EditText名为 Second 的第二部分应包含 2 行 每行显示一个 TextView
  • 模块无法初始化 zf3 已在互联网上搜索

    我收到以下错误Zend 框架 3 应用程序 致命错误 未捕获的 Zend ModuleManager Exception RuntimeException 模块 服务 无法初始化 我知道有一些答案 但似乎没有一个指向 zf3 我已经扫描了它
  • 仅当附加文本时 JTextArea 滚动到底部

    我正在尝试创建一个JTextArea每次将文本附加到该文本区域时 它都会滚动到底部 否则 用户应该能够滚动顶部并查看上一条消息 我使用了这段代码 JTextArea terminalText new JTextArea JPanel ter
  • Flutter SocketException:操作系统错误:没有到主机的路由,errno = 113,地址 = xxxx,端口 = 42376

    我收到这个错误 Unhandled Exception SocketException OS Error No route to host errno 113 address my url api port 42392 尝试使用以下代码访问
  • 如何清理函数中的错误处理?

    我正在看别人写的代码 一些大函数很混乱 整个函数中的许多点都对错误处理进行了更改 有多种On Error Goto ErrHandler On Error Goto 0 On Error Resume Next 当您执行该函数时 完成并清理
  • 函数 mcrypt_get_iv_size() 在 Laravel 4 上已弃用

    我在 L4 这是我的 app php
  • 一起编写 ModbusClient 和 ModbusServer 时出现问题

    关于本准则 我在用EasyModbus Nuget在 C 窗口窗体应用程序中 我正在尝试使用 RTU 实时更新 获取更改后的保持寄存器的地址值ModbusServer 下面的代码连接到服务器 void Connect ModbusClien
  • 为什么 CLOCKS_PER_SEC 不是每秒的实际时钟数?

    我刚刚编写了这个简短的 C 程序来近似每秒的实际时钟滴答数 include
  • 如何从react-firebase获取有效令牌以进行节点js服务器验证

    我有一个reactJS Web应用程序 我正在使用react redux firebase进行身份验证 并且它工作正常 现在我想添加一个自己的nodejs服务器 后面有一个小数据库 我读到我可以使用react webapp登录中的fireb
  • 有没有办法在 Puppeteer for Firefox 中使用代理?

    有没有办法将 Puppeteer 配置为在 Firefox 中使用代理 而无需手动调整操作系统的代理设置 我可以通过使用命令行参数在 Chrome 中完成此操作args proxy server http 0 0 0 0 0000 但是Fi
  • 使用 C# Web api 和备用内容类型

    我是 web api 的新手 我需要为客户端创建一个服务器 我无法控制客户 无法改变任何事情 客户端在 POST 正文中发送 html 封装的 json 请求 但是 内容类型可能会有所不同 我需要做什么才能让我的 ApiController
  • 单击按钮时如何播放 Web URL 中的声音文件

    我有这个声音文件http www example com sound mp3 如何使用媒体播放器在单击按钮时播放它 Example b setOnClickListener new View OnClickListener Override
  • 随机数的分布

    我有两个代码选项 Option 1 int myFunc return new Random nextInt Or Option 2 private static final Random random new Random int myF
  • 如何在用户控件可见后调用方法

    我用 C 创建了一个带有两个用户控件的 Windows 应用程序 当表单加载时 第一个用户控件被加载 并显示 当我单击 下一步 时 我加载第二个用户控件 现在 我希望在用户控件可见时调用该用户控件的方法 我做不到 如果我从 Load 事件调
  • 如何从二维数组构建图表?

    我正在尝试学习图结构和算法 从概念上讲 我理解 DFS BFS 并且我可以通过提供图来实现它们 但是图传统上是如何组成的 通常 我将它们视为以边为指针的节点列表 具有它们连接的节点的边列表或二维矩阵 其中两个 arr node a node
  • Windows 7 上的 .NET 源调试

    我们正在尝试通过调试SQL Server 紧凑型 http en wikipedia org wiki SQL Server Compact运行 Windows 7 Enterprise RTM 64 位 桌面上的问题 NET http e
  • 安装时如何检查我的产品是否已安装?

    我想在导入步骤中执行部分代码 前提是产品本身尚未安装 我尝试使用快速安装工具的 listInstalledProduct 方法 但是 这将返回所有已安装的产品 但不会返回我自己的产品 如何检查我的产品是否已安装在网站中 在 Anne Wal