我有Git的问题.我在Google和StackOverflow中搜索了一个解决方案,但没有任何帮助.
问题是,每当git更新工作目录中的某个文件时(当我签出分支或合并分支时等),则更改文件权限,以便添加"可写入组"标志.如果文件可写入组,我的apache会显示"错误500".
示例:我有一个文件index.php.权限是"-rwxr-xr-x".当前(活动)分支是主分支.此文件在分支"develop"中已更改.我执行"git checkout develop"并且文件index.php获得权限"-rwxrwxr-x"(可写入组添加).我的网站停止工作.由于apache不允许在php文件中使用此标志(我不知道为什么但我无法更改此内容).
每当我执行"git checkout develop"时,我还需要执行"chmod gw index.php".我不喜欢执行两个命令(有时我忘记执行此操作,我的网站不起作用).
我该怎么做才能解决这个问题?我认为这与umask有关.我在网上找到了一些技巧,但没有任何效果.
谢谢.
我是Python的新手,我的第一个项目非常雄心勃勃:D
我正在尝试使用QWebView和HTML5 Audio API创建音频播放器.
我想使用Phonon来实际播放媒体,但我希望能够使用HTML5 Audio API来制作均衡器,就像Winamp中的那样.
我可以让Phonon播放音频文件没问题,但有没有办法将音频输出连接到我的JavaScript,以便我可以玩不同的频道等?
它甚至是最好的方式吗?我的意思是,这样做会限制我的播放器可用的格式到WebKit支持的格式,还是我仍然可以播放Phonon可以播放的任何格式?(我在这里假设,Phonon会将原始/解码版本的音频流式传输到我的JavaScript,然后我可以通过Audio API使用它)
如果这是不可能的,我可以围绕一个Phonon AudioOutput对象制作一个简单的JavaScript包装器?
有什么想法吗?

我想构建一个上下文菜单,其中包含用于选择日期的菜单项.(用例是在树视图中选择一组项目,然后为所有项目设置新的截止日期.)
由于menuitem是Gtk.Bin,我可以指定任何小部件来代替标签.但是,我似乎无法与小部件进行交互.如果我单击菜单上的任何位置,菜单项将获得单击.因此,我无法选择特定日期,也无法导航数月或数年.如何让日历获取鼠标活动?
此外,日历外部还有外部填充物,当悬停在日历上时会变成橙色.如何删除填充和/或不执行橙色突出显示?
#!/usr/bin/env python
import gobject
import pygtk
pygtk.require('2.0')
import gtk
import time
class ContextMenu(gtk.Menu):
def __init__(self):
gtk.Menu.__init__(self)
def add_calendar_submenu_item(self, text, callback, uuids, data=None):
calendar = gtk.Calendar()
calendar.show()
calendar_item = gtk.MenuItem()
calendar_item.add(calendar)
calendar_item.show()
submenu = gtk.Menu()
submenu.append(calendar_item)
submenu_item = gtk.MenuItem("%s..." %(text))
submenu_item.set_submenu(submenu)
submenu_item.show()
submenu_item.connect("activate", self.on_calendar_activate)
self.append(submenu_item)
def on_calendar_activate(self, widget):
print "activate"
if __name__ == "__main__":
class CalendarExample:
def __init__(self):
window = gtk.Window(gtk.WINDOW_TOPLEVEL)
window.set_title("Calendar Example")
window.set_border_width(5)
window.set_size_request(200, 100)
window.set_resizable(False)
window.stick()
window.connect("destroy", lambda x: gtk.main_quit())
menu = ContextMenu()
menu.add_calendar_submenu_item("date", …Run Code Online (Sandbox Code Playgroud) 使用gdk_screen_get_monitor_geometry,我可以得到像素的总面积和每个监视器的相对位置,即使有两个或更多用作单个屏幕.
但是,我想获得每个监视器的可用区域(即不包括面板).我发现的唯一的东西是_NET_WORKAREA,但这是一个跨越所有显示器的巨大区域.根据分辨率和排列,该区域内可能有面板.
如何获得每台显示器的实际可用面积?理想情况下,仅使用Gtk/Gdk,没有X11特定的.
我正在尝试将一些pygtk音乐播放器代码移植到使用gst的Discoverer模块的pygi中。
from gi.repository import Gst, GstPbutils
def on_discovered(discoverer, ismedia):
print("%s -- %s" %( discoverer.tags.get('title', 'Unknown'),
discoverer.tags.get('artist', 'Unknown')))
Gst.init(None)
location = "file:///srv/Music/molly_hatchet-the_creeper.mp3"
discoverer = GstPbutils.Discoverer()
discoverer.discover_uri(location)
discoverer.connect('discovered', on_discovered)
Run Code Online (Sandbox Code Playgroud)
当我尝试运行此命令时,出现以下错误:
/usr/lib/python2.7/dist-packages/gi/types.py:43: Warning: g_object_get_qdata: assertion `G_IS_OBJECT (object)' failed
return info.invoke(*args, **kwargs)
/usr/lib/python2.7/dist-packages/gi/types.py:43: Warning: g_object_ref_sink: assertion `G_IS_OBJECT (object)' failed
return info.invoke(*args, **kwargs)
** (python:21482): CRITICAL **: pygobject_register_wrapper: assertion `PyObject_TypeCheck(self, &PyGObject_Type)' failed
/usr/lib/python2.7/dist-packages/gi/types.py:43: Warning: g_object_unref: assertion `G_IS_OBJECT (object)' failed
return info.invoke(*args, **kwargs)
Run Code Online (Sandbox Code Playgroud)
不幸的是,关于此pygi模块的文档似乎很少。