c2s public posts

master
Bob Mottram 2019-07-17 15:43:51 +01:00
parent 0e22f92f48
commit e753f0cf5c
3 changed files with 57 additions and 12 deletions

View File

@ -345,7 +345,25 @@ python3 epicyon.py --nickname [yournick] --domain [name] --unfollow othernick@do
## Sending posts ## Sending posts
To send a post: To make a public post:
``` bash
python3 epicyon.py --nickname [yournick] --domain [name] \
--sendto public --message "hello" \
--warning "This is a content warning" \
--password [mypass]
```
To post to followers only:
``` bash
python3 epicyon.py --nickname [yournick] --domain [name] \
--sendto followers --message "hello" \
--warning "This is a content warning" \
--password [mypass]
```
To send a post to a particular address:
``` bash ``` bash
python3 epicyon.py --nickname [yournick] --domain [name] \ python3 epicyon.py --nickname [yournick] --domain [name] \

View File

@ -302,15 +302,30 @@ if args.message:
if not args.sendto: if not args.sendto:
print('Specify an account to sent to: --sendto [nickname@domain]') print('Specify an account to sent to: --sendto [nickname@domain]')
sys.exit() sys.exit()
if '@' not in args.sendto: if '@' not in args.sendto and \
not args.sendto.lower().endswith('public') and \
not args.sendto.lower().endswith('followers'):
print('syntax: --sendto [nickname@domain]') print('syntax: --sendto [nickname@domain]')
print(' --sendto public')
print(' --sendto followers')
sys.exit() sys.exit()
toNickname=args.sendto.split('@')[0] if '@' in args.sendto:
toDomain=args.sendto.split('@')[1].replace('\n','') toNickname=args.sendto.split('@')[0]
toPort=443 toDomain=args.sendto.split('@')[1].replace('\n','')
if ':' in toDomain: toPort=443
toPort=toDomain.split(':')[1] if ':' in toDomain:
toDomain=toDomain.split(':')[0] toPort=toDomain.split(':')[1]
toDomain=toDomain.split(':')[0]
else:
if args.sendto.endswith('followers'):
toNickname=None
toDomain='followers'
toPort=port
else:
toNickname=None
toDomain='public'
toPort=port
#ccUrl=httpPrefix+'://'+domain+'/users/'+nickname+'/followers' #ccUrl=httpPrefix+'://'+domain+'/users/'+nickname+'/followers'
ccUrl=None ccUrl=None
sendMessage=args.message sendMessage=args.message

View File

@ -722,10 +722,22 @@ def sendPostViaServer(session,fromNickname: str,password: str, \
# Note that baseDir is set to None # Note that baseDir is set to None
saveToFile=False saveToFile=False
clientToServer=True clientToServer=True
toDomainFull=toDomain if toDomain.lower().endswith('public'):
if toPort!=80 and toDomain!=443: toPersonId='https://www.w3.org/ns/activitystreams#Public'
toDomainFull=toDomain+':'+str(toPort) fromDomainFull=fromDomain
toPersonId=httpPrefix+'://'+toDomainFull+'/users/'+toNickname if fromPort:
if fromPort!=80 and fromPort!=443:
fromDomainFull=fromDomain+':'+str(fromPort)
cc=httpPrefix+'://'+fromDomainFull+'/users/'+fromNickname+'/followers'
else:
if toDomain.lower().endswith('followers') or \
toDomain.lower().endswith('followersonly'):
toPersonId=httpPrefix+'://'+fromDomainFull+'/users/'+fromNickname+'/followers'
else:
toDomainFull=toDomain
if toPort!=80 and toDomain!=443:
toDomainFull=toDomain+':'+str(toPort)
toPersonId=httpPrefix+'://'+toDomainFull+'/users/'+toNickname
postJsonObject = \ postJsonObject = \
createPostBase(None, \ createPostBase(None, \
fromNickname,fromDomain,fromPort, \ fromNickname,fromDomain,fromPort, \