Pyrogram raw functions.channels.GetFullChannel not working - pyrogram

For example, i wrote a simple echo-bot, but GetFullChannel is not working.
from pyrogram import Client, filters, enums
from pyrogram.raw import functions, types
app = Client(username, api_id, api_hash)
#app.on_message(filters.text)
async def echo(client, message):
if message.text == "test":
r = await app.invoke(functions.channels.GetFullChannel(channel=-100********21))
print(r)
My code failed and return this trace:
Traceback (most recent call last):
File "/home/******/.local/lib/python3.9/site-packages/pyrogram/dispatcher.py", line 240, in handler_worker
await handler.callback(self.client, *args)
File "**************.py", line 84, in echo
ret = await app.invoke(functions.channels.GetFullChannel(channel=-100********21))
File "/home/*****/.local/lib/python3.9/site-packages/pyrogram/methods/advanced/invoke.py", line 77, in invoke
r = await self.session.invoke(
File "/home/*****/.local/lib/python3.9/site-packages/pyrogram/session/session.py", line 361, in invoke
return await self.send(query, timeout=timeout)
File "/home/******/.local/lib/python3.9/site-packages/pyrogram/session/session.py", line 290, in send
message = self.msg_factory(data)
File "/home/*****/.local/lib/python3.9/site-packages/pyrogram/session/internals/msg_factory.py", line 37, in __call__
len(body)
File "/home/*****/.local/lib/python3.9/site-packages/pyrogram/raw/core/tl_object.py", line 79, in __len__
return len(self.write())
File "/home/******/.local/lib/python3.9/site-packages/pyrogram/raw/functions/channels/get_full_channel.py", line 69, in write
b.write(self.channel.write())
AttributeError: 'int' object has no attribute 'write'
The author of the Pyrogram framework says that there is no error in the libraries themselves, it is in my implementation.
Can you tell me what is wrong in my code?
Am I using the raw function incorrectly?

you should give InputChannel not peer id of it
Test :
channel = await app.resolve_peer(-100********21)
r = await app.invoke(functions.channels.GetFullChannel(channel=channel ))

Related

Jira create issue returns 405 python

I am using python Jira package and trying to create Jira issue:
from jira import JIRA
jiraOptions = {'server': "http://jira.xxx.com"}
jira = JIRA(options = jiraOptions, basic_auth=(
"xxx", "xxx"))
def create_new_issue(project, summary, description, issuetype, username):
issue_dict = {
'project': {'key': project},
'summary': summary,
'description': description,
'issuetype': {'name': issuetype},
'reporter': {'name': username}
}
new_issue = jira.create_issue(fields=issue_dict)
create_new_issue("p1", "test", "teseset", "Bug", "xxxx")
I get 405 error which I can't figure out where I got wrong:
Traceback (most recent call last):
File ".\jiraUtil.py", line 97, in <module>
create_new_issue("p1", "test", "teseset", "Bug", "xxxx")
File ".\jiraUtil.py", line 58, in create_new_issue
new_issue = jira.create_issue(fields=issue_dict)
File "C:\Users\xxx\AppData\Local\Programs\Python\Python38\lib\site-packages\jira\client.py", line 1473, in create_issue
r = self._session.post(url, data=json.dumps(data))
File "C:\Users\xxx\AppData\Local\Programs\Python\Python38\lib\site-packages\jira\resilientsession.py", line 198, in post
return self.__verb("POST", str(url), data=data, json=json, **kwargs)
File "C:\Users\xxx\AppData\Local\Programs\Python\Python38\lib\site-packages\jira\resilientsession.py", line 189, in __verb
raise_on_error(response, verb=verb, **kwargs)
File "C:\Users\xxx\AppData\Local\Programs\Python\Python38\lib\site-packages\jira\resilientsession.py", line 64, in raise_on_error
raise JIRAError(
jira.exceptions.JIRAError: JiraError HTTP 405 url: https://jira.xxx.com/rest/api/2/issue
At a guess, "xxxx" user doesn't exist in your Jira Cloud instance, try changing it to "-1" which is unassigned.
I ran into some issues myself doing this, so I built this project - https://github.com/dren79/JiraScripting_public let me know if it helps :)

Installing Selected Parcels time out in CDH5

I'm trying to create a cluster after cloudera manager setup, and when Installing Selected Parcels, it stuck at activating giving the error timed out and the log gives the warning Parcel not distributed but have active state ACTIVATING.
please help, how to resolve this?
Error log
Unexpected exception during download
Traceback (most recent call last):
File "/opt/cloudera-manager/cm-5.5.3/lib/cmf/agent/src/cmf/downloader.py", line 276, in _download
response = self.opener.fetch_url(request)
File "/opt/cloudera-manager/cm-5.5.3/lib/cmf/agent/src/cmf/downloader.py", line 69, in fetch_url
return urllib2.urlopen(request)
File "/usr/lib/python2.7/urllib2.py", line 127, in urlopen
return _opener.open(url, data, timeout)
File "/usr/lib/python2.7/urllib2.py", line 404, in open
response = self._open(req, data)
File "/usr/lib/python2.7/urllib2.py", line 422, in _open
'_open', req)
File "/usr/lib/python2.7/urllib2.py", line 382, in _call_chain
result = func(*args)
File "/usr/lib/python2.7/urllib2.py", line 1214, in http_open
return self.do_open(httplib.HTTPConnection, req)
File "/usr/lib/python2.7/urllib2.py", line 1187, in do_open
r = h.getresponse(buffering=True)
File "/usr/lib/python2.7/httplib.py", line 1051, in getresponse
response.begin()
File "/usr/lib/python2.7/httplib.py", line 415, in begin
version, status, reason = self._read_status()
File "/usr/lib/python2.7/httplib.py", line 371, in _read_status
line = self.fp.readline(_MAXLINE + 1)
File "/usr/lib/python2.7/socket.py", line 476, in readline
data = self._sock.recv(self._rbufsize)
timeout: timed out

Getting authentication for a website with python

I am trying to get onto a website and download information using python. I know the downloading part of the code works.
However, the website requires authentication to get onto it - I am a member and I have a valid username and password.
I did some research and the following code should work - but it doesn't.
What am I missing?
Here is the code:
import urllib2
url = 'https://sample-website.com/'
username = '' #I've tried with leaving this empty and with putting in a valid username
password = '' # same as above
p = urllib2.HTTPPasswordMgrWithDefaultRealm()
p.add_password(None, url, username, password)
handler = urllib2.HTTPBasicAuthHandler(p)
opener = urllib2.build_opener(handler)
urllib2.install_opener(opener)
page = urllib2.urlopen(url).read()
The error I get is this:
Traceback (most recent call last):
File "C:\Python27\smth_rand.py", line 14, in <module>
page = urllib2.urlopen(url).read()
File "C:\Python27\lib\urllib2.py", line 127, in urlopen
return _opener.open(url, data, timeout)
File "C:\Python27\lib\urllib2.py", line 410, in open
response = meth(req, response)
File "C:\Python27\lib\urllib2.py", line 523, in http_response
'http', request, response, code, msg, hdrs)
File "C:\Python27\lib\urllib2.py", line 448, in error
return self._call_chain(*args)
File "C:\Python27\lib\urllib2.py", line 382, in _call_chain
result = func(*args)
File "C:\Python27\lib\urllib2.py", line 531, in http_error_default
raise HTTPError(req.get_full_url(), code, msg, hdrs, fp)
HTTPError: HTTP Error 401: Unauthorized
Ideally my code would prompt for the user to enter his/her username and password but I'm not sure how to code that part either.
Thanks
So you need both urllib and urllib2 to do this. The example code would look like
import urllib, urllib2
import webbrowser
opener = urllib2.build_opener()
username = ''
password = ''
values = {
'username': 'example_username',
'password': 'example_password',
}
params = urllib.urlencode(values)
response = opener.open("https://sample-website.com/",params)
response.read()
your response.read() would give you w/e information you want to get out of it. You can look up all the specific methods for more in depth explanation.

suds to call SOAP over python

i'm quite desperate...can't use suds in my code...I try this
#!/usr/bin/python2
import suds
url = "http://scsadx02:8080/lrs/webconnect/vpsx?trid=vpsx"
client = suds.client.Client(url)
Server = client.factory.create("ns0:string")
Serverin = client.factory.create("ns0:string")
UserID = client.factory.create("ns0:string")
Password = client.factory.create("ns0:string")
NewPassword = client.factory.create("ns0:string")
Server.value = 'SPLVSVK2'
Serverin.value = 'SPLVPSK2'
UserID.value = 'serviceudp'
Password.value = 'dpuecivres'
NewPassword.value = ''
#method I have to call
#Suds ( https://fedorahosted.org/suds/ ) version: 0.4 GA build: R699-20100913
#
#Service ( VPSXService ) tns="http://www.lrs.com"
# Prefixes (2)
# ns0 = "http://schemas.xmlsoap.org/soap/encoding/"
# ns1 = "http://www.lrs.com"
# Ports (1):
# (VPSXPort)
# Methods (95):
# Logoff(xs:string SessID, )
# Logon(xs:string Server, xs:string UserID, xs:string Password, xs:string NewPassword, )
client.service.Logon(Server, UserID, Password, NewPassword)
but I obtain this error...
[davide#archy PYTHON]$ ./testina.py
Traceback (most recent call last):
File "./testina.py", line 31, in <module>
client.service.Logon(Server, UserID, Password, NewPassword)
File "/usr/lib/python2.7/site-packages/suds/client.py", line 542, in __call__
return client.invoke(args, kwargs)
File "/usr/lib/python2.7/site-packages/suds/client.py", line 602, in invoke
result = self.send(soapenv)
File "/usr/lib/python2.7/site-packages/suds/client.py", line 637, in send
reply = transport.send(request)
File "/usr/lib/python2.7/site-packages/suds/transport/https.py", line 64, in send
return HttpTransport.send(self, request)
File "/usr/lib/python2.7/site-packages/suds/transport/http.py", line 77, in send
fp = self.u2open(u2request)
File "/usr/lib/python2.7/site-packages/suds/transport/http.py", line 118, in u2open
return url.open(u2request, timeout=tm)
File "/usr/lib/python2.7/urllib2.py", line 404, in open
response = self._open(req, data)
File "/usr/lib/python2.7/urllib2.py", line 422, in _open
'_open', req)
File "/usr/lib/python2.7/urllib2.py", line 382, in _call_chain
result = func(*args)
File "/usr/lib/python2.7/urllib2.py", line 1214, in http_open
return self.do_open(httplib.HTTPConnection, req)
File "/usr/lib/python2.7/urllib2.py", line 1184, in do_open
raise URLError(err)
urllib2.URLError: <urlopen error [Errno -2] Name or service not known>
How I can solve???
Try
C:\Python27>python -c "import urllib2; print urllib2.urlopen('http://scsadx02:8080/lrs/webconnect/vpsx?trid=vpsx').read()"
and import os; os.environ['http_proxy']='' before importing the other modules.

Can't activate django admin screen

Error page shows the following:
Traceback (most recent call last):
File "/Library/Python/2.6/site-packages/django/core/servers/basehttp.py", line 283, in run
self.result = application(self.environ, self.start_response)
File "/Library/Python/2.6/site-packages/django/core/handlers/wsgi.py", line 273, in call
response = self.get_response(request)
File "/Library/Python/2.6/site-packages/django/core/handlers/base.py", line 153, in get_response
response = self.handle_uncaught_exception(request, resolver, sys.exc_info())
File "/Library/Python/2.6/site-packages/django/core/handlers/base.py", line 218, in handle_uncaught_exception
return callback(request, **param_dict)
File "/Library/Python/2.6/site-packages/django/utils/decorators.py", line 93, in _wrapped_view
response = view_func(request, *args, **kwargs)
File "/Library/Python/2.6/site-packages/django/views/defaults.py", line 30, in server_error
t = loader.get_template(template_name) # You need to create a 500.html template.
File "/Library/Python/2.6/site-packages/django/template/loader.py", line 157, in get_template
template, origin = find_template(template_name)
File "/Library/Python/2.6/site-packages/django/template/loader.py", line 138, in find_template
raise TemplateDoesNotExist(name)
TemplateDoesNotExist: 500.html
Check your Template_Loaders in settings.py. It should look like this to automatically find the default admin templates. The app_directories.Loader is important here.
TEMPLATE_LOADERS = (
'django.template.loaders.filesystem.Loader',
'django.template.loaders.app_directories.Loader',
# 'django.template.loaders.eggs.Loader',
)

Resources